我們接下來(lái)學(xué)習(xí)字典的刪除值。
刪除值首先通用的方法del。
dic = {'a': 1, 'b': 2, 'c': 3}
del dic['a']
print(dic)
這樣a就被刪除了,key和value都被刪除。
然后我們看字典這個(gè)類(lèi)型本身它有哪些可以實(shí)現(xiàn)刪除的功能。先寫(xiě)個(gè)dic點(diǎn),自動(dòng)跳出dic的的功能。
看到有個(gè)pop,這個(gè)應(yīng)該是刪除,因?yàn)榍懊嫖覀儗W(xué)列表的時(shí)候列表也有個(gè)pop是刪除功能。
然后還有個(gè)clear,后面還有個(gè)popitem。pop我們知道但是popitem就不認(rèn)識(shí)了,但是應(yīng)該是和刪除有關(guān)的。
首先來(lái)看pop,pop是根據(jù)指定的key刪除并返回它對(duì)應(yīng)的值,我想刪除a,就把a(bǔ)傳進(jìn)去,再打印一下返回值。然后再打印這個(gè)字典。
這樣我們就刪除并且拿到了這個(gè)值。
然后來(lái)看popitem,它的作用是刪除并返回字典中的最后一對(duì)鍵和值,返回的結(jié)果是一個(gè)元組,元組里面放的鍵和值。
dic = {'a': 1, 'b': 2, 'c': 3}
print(dic.popitem())
這里有的老師會(huì)說(shuō),popitem是隨機(jī)刪除并返回一對(duì)鍵和值,因?yàn)樽值涫菬o(wú)序的嘛!但是你自己操作每次就是返回最后一對(duì),然后就搞不懂了。
這里要注意,我們上章講過(guò)的,字典本身手機(jī)無(wú)序的,而這里說(shuō)的最后一對(duì)鍵和值,這種順序,指的是key添加到字典的先后順序,而不是說(shuō)字典是有序的。
我們對(duì)字典的增刪改查并不會(huì)依賴(lài)這種先后順序。
然后clear就不用多講了吧,和列表一樣,都是清空所有的值。
dic = {'a': 1, 'b': 2, 'c': 3}
dic.clear()
print(dic)
我們接著來(lái)看字典的長(zhǎng)度統(tǒng)計(jì),同樣也是用len來(lái)統(tǒng)計(jì),這個(gè)和列表一樣,你可以說(shuō)len是用來(lái)統(tǒng)計(jì)字典的key的個(gè)數(shù),也可以說(shuō)統(tǒng)計(jì)value的個(gè)數(shù),或者說(shuō)統(tǒng)計(jì)key冒號(hào)value這種鍵盤(pán)值對(duì)的個(gè)數(shù)。
dic = {'a': 1, 'b': 2, 'c': 3}
print(len(dic))
然后來(lái)看成員運(yùn)算in和not in,注意in和not in判斷的是字典的key,也就是說(shuō)判斷某一個(gè)key存不存在于字典里面,而不是判斷值。
和我們前面講的for循環(huán)一樣,for循環(huán)遍歷字典拿到的是字典的key,如果拿值來(lái)做成員運(yùn)算的話(huà)結(jié)果會(huì)是False。
dic = {'aaa': 1, 2: 2, 3.2: 4, (7, 8, 9): 10}
print('1' in dic)
dic = {'aaa': 1, 2: 2, 3.2: 4, (7, 8, 9): 10}
print(2 in dic)
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 字典類(lèi)型3