列表,元祖,字典和集合的常用操作

2021-08-23 12:27:13 字數 2136 閱讀 3804

python內建的一種資料型別是列表:list。list是一種有序的集合,可以隨時新增和刪除其中的元素。

l = list()   # 建立了乙個空列表l

l1 = [1,2,3,4] # 列表用中括號表示

l2 = list(range(10)) # 建立了乙個[0,1,2,3,4,5,6,7,8,9]的列表

len(l1) # 輸出結果4,表明列表l1中有4個元素

l1[0] # 列表l1中從左往右數第1個元素

l1[3] # 列表l1中從左往右數第4個元素

l1[-1] # 列表l1中從右往左數第1個元素,也就是列表最後乙個元素

l2[-4] # 列表l2中從右往左數第4個元素

l2.insert(2,"a") # 在列表l2的從左往右第3個位置插入乙個元素"a"

l1.pop()或者l1.pop(2) # 刪除列表最後1個元素或者指定位置的元素

l3 = [1,2,[1,2],[4,5,6]] # 巢狀列表

l3[2][0] # 取列表l3中從左往右第3個元素,得到列表[1,2],在取其中的第1個元素

另一種有序列表叫元組:tuple。tuple和list非常類似,但是tuple一旦初始化就不能修改。

t = t()  # 建立乙個空元祖

t = (1,2,3,4) # 元祖用小括號表示

t = (1,) '''建立只有1個元素的元祖時需要加上逗號,

防止被當作運算子中的小括號直接返回1'''

t = (1,2,[1,2],[3,4,5]) # 元祖的list不可變,但是元祖中的list的元素可變

python內建了字典:dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)儲存,具有極快的查詢速度。

d =    # 字典用大括號表示

d['michael'] # 訪問某個鍵對應的值

d['michael'] = 88

'''通過key把值放入,由於乙個key只能對應乙個value,

所以,多次對乙個key放入value,後面的值會把前面的值沖掉'''

'michael'

in d # 通過in判斷key是否存在

d.get('michael',-1) 或d.get('michael')

# 通過get看key是否存在,如果不存在,返回指定的-1或者預設none

# 返回none的時候python的互動環境不顯示結果

d.pop('bob') # 刪除某一key及其對應的value

dict內部存放的順序和key放入的順序是沒有關係的

查詢和插入的速度極快,不會隨著key的增加而變慢

但是和list相比,dict需要占用大量的記憶體,記憶體浪費多

所以,dict是用空間來換取時間的一種方法

dict的key必須是不可變物件, 因為dict根據key來計算value的儲存位置

通過key計算位置的演算法稱為雜湊演算法(hash)

在python中,字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key

set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key

s = set([1,2,3,4])     # 提供乙個list作為輸入建立集合

s =

s.add(5) # 新增5到set中,重複新增不會有效果,因為set中沒有重複的元素

s.remove(4) # 刪除set中的某個元素4

s1 =

s1 & s # 數學中集合的交集運算

s1 | s # 數學中集合的並集運算

set和dict的唯一區別僅在於沒有儲存對應的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變物件,因為無法判斷兩個可變物件是否相等,也就無法保證set內部「不會有重複元素」。把list放入集合中就會報錯unhashable type: 『list』

列表,元祖,字典,集合總結

列表 list是一種有序的集合,可修改,可重複,可以隨時新增和刪除其中的元素。names michael bob tracy 元組 元組其實跟列表差不多,也是存一組數,不可修改,可重複,無序。只不是它一旦建立,便不能再修改,所以又叫唯讀列表 names cathy jack lucy cathy n...

python 列表 元祖和字典

一 列表迴圈 names 哈哈 嘿嘿 while false i 0 元素下標 while i 如圖 for 迴圈做法 1.for i in range len names print names i 2.for i in names print i 1,2,5,7 是 以split 來分割,返回值...

列表 字典 元祖 集合的內建方法

dic 1.按k取值 k不存在會直接報錯 print len dic 3 4.成員運算 預設只暴露k print jason in dic print name in dic 5.刪除元素 方式1 del dic name print dic 方式2 指定k彈出鍵值對 給出v print dic.p...