Python内置数据类型之Dict
Dict字典,是另一種可變類型的容器模型,可以存儲任意類型對象。
1、字典的創(chuàng)建
字典的每個鍵值對(key->value)使用冒號(:)分隔,鍵值對之間使用逗號(,)分隔,使用花括號{}包含元素。鍵必須是唯一的,值可以不唯一。
值可以選取任意數(shù)據(jù)類型,但鍵必須是不可變的,如數(shù)字、字符串、元組。下面是一個字典的實例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}還可以創(chuàng)建一個空字典: dict={} 2、字典的訪問可以簡單地使用 d[key] 的形式來查找對應(yīng)的 value,這和 list 很像,不同之處是,list 必須使用索引返回對應(yīng)的元素,而dict使用key:
9102
如果方括號中的key存在就會返回對應(yīng)的value,如果不存在則會報錯:KeyError。
有兩種方法可以避免KeyError:
(1)在使用key訪問字典之前先判斷一下key是否存在:
if 'Beth' in dict:print dict['Beth'](2)使用Dict本身提供的get方法,當(dāng)key不存在時返回None: print dict.get('Tom') #None 3、修改字典修改字典的方法有添加新的鍵值對,修改已有key的value和刪除已有的鍵值對:
(1)添加新的鍵值對:
{'Alice': '0000', 'Beth': '9102', 'Cecil': '3258','Tom':'1234'}
4、刪除字典元素
可以刪除字典元素,清空字典,還可以刪除整個字典:
del dict['Tom'] #刪除某一個條目 dict.clear() #清空字典,但dict還存在,是一個空字典 del dict #顯示刪除字典,dict不存在,再次訪問會出錯 5、字典的特點(1)dict的第一個特點是查找速度快,無論dict有10個元素還是10萬個元素,查找速度都一樣。而list的查找速度隨著元素增加而逐漸下降。
不過dict的查找速度快不是沒有代價的,dict的缺點是占用內(nèi)存大,還會浪費(fèi)很多內(nèi)容,list正好相反,占用內(nèi)存小,但是查找速度慢。
由于字典是按key查找元素的,因此字典中的key不能重復(fù)。
(2)dict的第二個特點就是存儲的key-value序?qū)κ菦]有順序的!這和list不一樣。也就是說,字典是無序的,不能用來存儲有序的集合。
(3)dict的第三個特點是作為 key 的元素必須不可變,Python的基本類型如字符串、整數(shù)、浮點數(shù)還有元組都是不可變的,都可以作為 key。但是list是可變的,就不能作為 key。不過value是可變的。
6、字典的遍歷
dict也是一個集合,所以它的遍歷和list類似,一個for循環(huán)就可以遍歷:
dict = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } for key in dict:print key+":"+str(dict[key])結(jié)果: Lisa:85 Adam:95 Bart:59 7、字典的迭代字典類型有幾個內(nèi)置函數(shù)可以用來迭代字典元素:keys()、values()、items():
keys返回字典的所有鍵構(gòu)成的list,values返回所有值構(gòu)成的list,item返回由鍵值對組成的list:
現(xiàn)在就可以這樣迭代字典了:
for key,value in dict:print key,":",value結(jié)果: Lisa:85 Adam:95 Bart:59 8、Python內(nèi)置函數(shù)
總結(jié)
以上是生活随笔為你收集整理的Python内置数据类型之Dict的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 55级只有两个UP正常吗(原神)
- 下一篇: Python—“helloworld”