Python基本數(shù)據(jù)結(jié)構(gòu)之字典類(lèi)型dict用法分析
本文實(shí)例講述了Python基本數(shù)據(jù)結(jié)構(gòu)之字典類(lèi)型dict用法。分享給大家供大家參考,具體如下:
詞典類(lèi)型 dict
字典由鍵(key)和對(duì)應(yīng)值(value)成對(duì)組成。字典也被稱(chēng)作關(guān)聯(lián)數(shù)組或哈希表。
dict 賦值
dict 整體放在花括號(hào){}中,每個(gè)鍵與值用冒號(hào)隔開(kāi)(:),每對(duì)用逗號(hào)分割; d = {'one':1, 'two':2, 'three':3}
鍵必須獨(dú)一無(wú)二,但值則不必;值可取任何數(shù)據(jù)類(lèi)型,如字符串,數(shù)或元組;若創(chuàng)建時(shí)同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記?。?/p>
鍵必須不可變,所以可以用數(shù),字符串或元組充當(dāng),用列表就不行
用 dict() 強(qiáng)制轉(zhuǎn)換,可接受以下形式,參見(jiàn)下例
a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})
print(a == b == c == d == e)
dict 操作
詞典類(lèi)型適用于對(duì)應(yīng)鍵的取值,十分實(shí)用;對(duì)于dict的訪(fǎng)問(wèn)、修改、增加、刪除等操作需要熟練掌握
以下列出了常用的用法,詳細(xì)請(qǐng)參考:
訪(fǎng)問(wèn)值、修改值
dict_name['key_name'] 可直接訪(fǎng)問(wèn)值,可直接更改該值
d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(d['Name'],d['Age'],d['Class']) # 訪(fǎng)問(wèn)鍵值訪(fǎng)問(wèn) dict_name['key_name']
print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class'])) # 字符串輸出
# print(d['name']) # 無(wú)該鍵值,會(huì)報(bào)錯(cuò),注意大小寫(xiě)
d['Age'] = 8
print(d['Age']) # 可直接修改鍵的數(shù)值,數(shù)值類(lèi)型不限
鍵的增加、刪除
判斷key是否存在于dict中,使用 key_name in/not in dict_name;
增加鍵值即對(duì)新的鍵賦值 dict_name['new key_name'] = value ;刪除鍵值使用 del dict_name['key_name'];
清空詞典使用 dict_name.clear()
d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(d['Name'],d['Age'],d['Class']) # 訪(fǎng)問(wèn)鍵值訪(fǎng)問(wèn) dict['key_name']
print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class'])) # 字符串輸出
# print(d['name']) # 無(wú)該鍵值,會(huì)報(bào)錯(cuò),注意大小寫(xiě)
d['Age'] = 8
print(d['Age']) # 可直接修改鍵的數(shù)值,數(shù)值類(lèi)型不限
print('Name' in d) # 判斷鍵是否存在
print('xxx' not in d) # 判斷鍵是否不存在
d['Sex'] = "Female" # 增加鍵值直接賦值即可
print(d)
del d['Class'] # 刪除鍵值
print(d)
# del d['Class'] # 若無(wú)鍵值,會(huì)報(bào)錯(cuò)
d.clear() # 清空dict
print(d)
dict view objects
len(dict_name) 返回詞典鍵值組合數(shù),可單獨(dú)取出所有鍵 dict_name.keys() , 單獨(dú)取出所有的值 dict_name.values()
d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(len(d)) # 鍵值的組合數(shù)量
print(d.keys(),type(d.keys())) # 為dict_keys 類(lèi)型,可list()轉(zhuǎn)換為list 或 set()轉(zhuǎn)換為set
print(d.values()) # 為dict_values 類(lèi)型
print(d.items()) # 為dict_items 類(lèi)型
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python字典操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python3實(shí)現(xiàn)捕獲Ctrl+C終止信號(hào)
這篇文章主要為大家詳細(xì)介紹了如何利用Python3實(shí)現(xiàn)捕獲Ctrl+C終止信號(hào)的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03
python 使用matplotlib 實(shí)現(xiàn)從文件中讀取x,y坐標(biāo)的可視化方法
今天小編就為大家分享一篇python 使用matplotlib 實(shí)現(xiàn)從文件中讀取x,y坐標(biāo)的可視化方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
python利用 pytesseract快速識(shí)別提取圖片中的文字((圖片識(shí)別)
本文介紹了tesseract的python調(diào)用,也就是pytesseract庫(kù),其中還有一些其他的內(nèi)容并沒(méi)有涉及,僅涉及到了圖片提取文字,如果你對(duì)其感興趣,可以深入探索一下,也希望能和我探討一下2022-11-11
python基礎(chǔ)編程小實(shí)例之計(jì)算圓的面積
Python是最常用的編程語(yǔ)言,這種語(yǔ)言就是一種可以快速開(kāi)發(fā)應(yīng)用的解釋型語(yǔ)言,有些用戶(hù)不知道該怎么在Python編程里計(jì)算圓的面積,現(xiàn)在就給大家具體解釋一下,下面這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)編程小實(shí)例之計(jì)算圓的面積的相關(guān)資料,需要的朋友可以參考下2023-03-03
numpy中的norm()函數(shù)求范數(shù)實(shí)例
這篇文章主要介紹了numpy中的norm()函數(shù)求范數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
JAVA及PYTHON質(zhì)數(shù)計(jì)算代碼對(duì)比解析
這篇文章主要介紹了JAVA及PYTHON質(zhì)數(shù)計(jì)算代碼對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
pandas如何使用列表和字典創(chuàng)建?Series
這篇文章主要介紹了pandas如何使用列表和字典創(chuàng)建?Series,pandas 是基于NumPy的一種工具,該工具是為解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,下文我們就來(lái)看看文章是怎樣介紹pandas,需要的朋友也可以參考一下2021-12-12
聊聊python里如何用Borg pattern實(shí)現(xiàn)的單例模式
這篇文章主要介紹了聊聊python里如何用Borg pattern實(shí)現(xiàn)的單例模式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06

