日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python中list和set的区别

發布時間:2025/3/20 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python中list和set的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

List

字面意思就是一個集合,在Python中List中的元素用中括號[]來表示,可以這樣定義一個List:

L = [12, 'China', 19.998]

可以看到并不要求元素的類型都是一樣的。當然也可以定義一個空的List:

L = []

Python中的List是有序的,所以要訪問List的話顯然要通過序號來訪問,就像是數組的下標一樣,一樣是下標從0開始:

>>> print (L[0]) 12

千萬不要越界,否則會報錯

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>> print (L[3]) Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: list index out of range

List也可以倒序訪問,通過“倒數第x個”這樣的下標來表示序號,比如-1這個下標就表示倒數第一個元素:

>>> L = [12, 'China', 19.998] >>> print (L[-1]) 19.998

-4的話顯然就越界了

>>> print (L[-4])Traceback (most recent call last):File "<pyshell#2>", line 1, in <module>print L[-4] IndexError: list index out of range >>>

List通過內置的append()方法來添加到尾部,通過insert()方法添加到指定位置(下標從0開始):

>>> L = [12, 'China', 19.998] >>> L.append('Jack') >>> print (L) [12, 'China', 19.998, 'Jack'] >>> L.insert(1, 3.14) >>> print (L) [12, 3.14, 'China', 19.998, 'Jack'] >>>

注意python中有幾個方法與append類似,但是效果完全不一樣,使用時需根據實際需求選用正確方法
1.append() 向列表尾部追加一個新元素,列表只占一個索引位,在原有列表上增加
2.extend() 向列表尾部追加一個列表,將列表中的每個元素都追加進來,在原有列表上增加
比如 list1=[1, 2, 3] .list2=[4, 5, 6]
list1.append(list2) 的結果為[1, 2, 3, [4, 5, 6]]
list1.extend(list2) 的結果為[1, 2, 3, 4, 5, 6]
3.+ 直接用+號看上去與用extend()一樣的效果,但是實際上是生成了一個新的列表存這兩個列表的和,只能用在兩個列表相加上
4.+= 效果與extend()一樣,向原列表追加一個新元素,在原有列表上增加

通過pop()刪除最后尾部元素,也可以指定一參數刪除指定位置:

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>> L.pop() 'Jack' >>> print (L) [12, 3.14, 'China', 19.998] >>> L.pop(0) 12 >>> print(L) [3.14, 'China', 19.998]

也可以通過下標進行復制替換

>>> L[1] = 'America' >>> print (L) [3.14, 'America', 19.998]

Set

set也是一組數,無序,內容又不能重復,通過調用set()方法創建:

>>> s = set(['A', 'B', 'C'])

對于訪問一個set的意義就僅僅在于查看某個元素是否在這個集合里面,注意大小寫敏感:

>>> print ('A' in s) True >>> print ('D' in s) False

也通過for來遍歷:

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])for x in s:print (x[0],':',x[1])>>> Lisa : 85 Adam : 95 Bart : 59

通過add和remove來添加、刪除元素(保持不重復),添加元素時,用set的add()方法

>>> s = set([1, 2, 3]) >>> s.add(4) >>> print(s) set([1, 2, 3, 4])

如果添加的元素已經存在于set中,add()不會報錯,但是不會加進去了:

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>> s = set([1, 2, 3]) >>> s.add(3) >>> print (s) set([1, 2, 3])

刪除set中的元素時,用set的remove()方法:

>>> s = set([1, 2, 3, 4]) >>> s.remove(4) >>> print (s) set([1, 2, 3])

如果刪除的元素不存在set中,remove()會報錯:

>>> s = set([1, 2, 3]) >>> s.remove(4) Traceback (most recent call last):File "<stdin>", line 1, in <module> KeyError: 4

所以如果我們要判斷一個元素是否在一些不同的條件內符合,用set是最好的選擇,下面例子:

months = set(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec',]) x1 = 'Feb' x2 = 'Sun'if x1 in months:print ('x1: ok') else:print ('x1: error')if x2 in months:print ('x2: ok') else:print ('x2: error')>>> x1: ok x2: error

另外,set的計算效率比list高

總結

以上是生活随笔為你收集整理的Python中list和set的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。