Python基本數(shù)據(jù)結(jié)構(gòu)之字典類型dict用法分析
本文實(shí)例講述了Python基本數(shù)據(jù)結(jié)構(gòu)之字典類型dict用法。分享給大家供大家參考,具體如下:
詞典類型 dict
字典由鍵(key)和對(duì)應(yīng)值(value)成對(duì)組成。字典也被稱作關(guān)聯(lián)數(shù)組或哈希表。
dict 賦值
dict 整體放在花括號(hào){}中,每個(gè)鍵與值用冒號(hào)隔開(:),每對(duì)用逗號(hào)分割; d = {'one':1, 'two':2, 'three':3}
鍵必須獨(dú)一無(wú)二,但值則不必;值可取任何數(shù)據(jù)類型,如字符串,數(shù)或元組;若創(chuàng)建時(shí)同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記??;
鍵必須不可變,所以可以用數(shù),字符串或元組充當(dāng),用列表就不行
用 dict()
強(qiáng)制轉(zhuǎ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 操作
詞典類型適用于對(duì)應(yīng)鍵的取值,十分實(shí)用;對(duì)于dict的訪問(wèn)、修改、增加、刪除等操作需要熟練掌握
以下列出了常用的用法,詳細(xì)請(qǐng)參考:
訪問(wèn)值、修改值
dict_name['key_name']
可直接訪問(wèn)值,可直接更改該值
d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print(d['Name'],d['Age'],d['Class']) # 訪問(wèn)鍵值訪問(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ò),注意大小寫 d['Age'] = 8 print(d['Age']) # 可直接修改鍵的數(shù)值,數(shù)值類型不限
鍵的增加、刪除
判斷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']) # 訪問(wèn)鍵值訪問(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ò),注意大小寫 d['Age'] = 8 print(d['Age']) # 可直接修改鍵的數(shù)值,數(shù)值類型不限 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 類型,可list()轉(zhuǎn)換為list 或 set()轉(zhuǎn)換為set print(d.values()) # 為dict_values 類型 print(d.items()) # 為dict_items 類型
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python字典操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
探秘TensorFlow 和 NumPy 的 Broadcasting 機(jī)制
這篇文章主要介紹了探秘TensorFlow 和 NumPy 的 Broadcasting 機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Python 解決OPEN讀文件報(bào)錯(cuò) ,路徑以及r的問(wèn)題
今天小編就為大家分享一篇Python 解決OPEN讀文件報(bào)錯(cuò) ,路徑以及r的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12使用python-cv2實(shí)現(xiàn)視頻的分解與合成的示例代碼
這篇文章主要介紹了使用python-cv2實(shí)現(xiàn)視頻的分解與合成的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10python深度學(xué)習(xí)標(biāo)準(zhǔn)庫(kù)使用argparse調(diào)參
這篇文章主要為大家介紹了python深度學(xué)習(xí)標(biāo)準(zhǔn)庫(kù)使用argparse調(diào)參實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python機(jī)器學(xué)習(xí)應(yīng)用之基于天氣數(shù)據(jù)集的XGBoost分類篇解讀
XGBoost是一個(gè)優(yōu)化的分布式梯度增強(qiáng)庫(kù),旨在實(shí)現(xiàn)高效,靈活和便攜。它在?Gradient?Boosting?框架下實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法。XGBoost提供并行樹提升(也稱為GBDT,GBM),可以快速準(zhǔn)確地解決許多數(shù)據(jù)科學(xué)問(wèn)題2022-01-01pandas?dataframe?drop函數(shù)介紹
這篇文章主要介紹了pandas?dataframe?drop函數(shù)介紹,文章通圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Python實(shí)現(xiàn)SMTP郵件發(fā)送
這篇文章主要介紹了基于python實(shí)現(xiàn)SMTP發(fā)送郵件教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06