dict
Python內(nèi)置了字典:dict的支持沦童,dict全稱(chēng)dictionary境蜕,在其他語(yǔ)言中也稱(chēng)為map,使用鍵-值(key-value)存儲(chǔ)汽馋,具有極快的查找速度侮东。
d={'zhang':98,'li':97,'wang':96}
print(d['zhang'])
把數(shù)據(jù)放入dict的方法圈盔,除了初始化時(shí)指定外,還可以通過(guò)key放入:
>>>d['Adam'] =67
>>>d['Adam']
67
由于一個(gè)key只能對(duì)應(yīng)一個(gè)value悄雅,所以驱敲,多次對(duì)一個(gè)key放入value,后面的值會(huì)把前面的值沖掉:
>>>d['Jack'] =90
>>>d['Jack']90
>>>d['Jack'] =88
>>>d['Jack']
88
注意:如果key不存在煤伟,dict就會(huì)報(bào)錯(cuò)
要避免key不存在的錯(cuò)誤癌佩,有兩種辦法,一是通過(guò)in判斷key是否存在:
>>>'Thomas' in d
False
二是通過(guò)dict提供的get方法便锨,如果key不存在围辙,可以返回None,或者自己指定的value:
要?jiǎng)h除一個(gè)key放案,用pop(key)方法姚建,對(duì)應(yīng)的value也會(huì)從dict中刪除:
>>>d.pop('Bob')75
>>>d{'Michael':95,'Tracy':85}
和list比較,dict有以下幾個(gè)特點(diǎn):
查找和插入的速度極快吱殉,不會(huì)隨著key的增加而變慢掸冤;
需要占用大量的內(nèi)存,內(nèi)存浪費(fèi)多友雳。
而list相反:
查找和插入的時(shí)間隨著元素的增加而增加稿湿;
占用空間小,浪費(fèi)內(nèi)存很少押赊。
所以饺藤,dict是用空間來(lái)?yè)Q取時(shí)間的一種方法
dict可以用在需要高速查找的很多地方,在Python代碼中幾乎無(wú)處不在流礁,正確使用dict非常重要涕俗,需要牢記的第一條就是dict的key必須是不可變對(duì)象
set
set和dict類(lèi)似,也是一組key的集合神帅,但不存儲(chǔ)value再姑。由于key不能重復(fù),所以找御,在set中元镀,沒(méi)有重復(fù)的key。
要?jiǎng)?chuàng)建一個(gè)set霎桅,需要提供一個(gè)list作為輸入集合: