python中字典(Dictionary)用法實(shí)例詳解
本文實(shí)例講述了python中字典(Dictionary)用法。分享給大家供大家參考。具體分析如下:
字典(Dictionary)是一種映射結(jié)構(gòu)的數(shù)據(jù)類型,由無(wú)序的“鍵-值對(duì)”組成。字典的鍵必須是不可改變的類型,如:字符串,數(shù)字,tuple;值可以為任何python數(shù)據(jù)類型。
1、新建字典
>>> dict1={} #建立一個(gè)空字典 >>> type(dict1) <type 'dict'>
2、增加字典元素:兩種方法
>>> dict1['a']=1 #第一種 >>> dict1 {'a': 1} #第二種:setdefault方法 >>> dict1.setdefault('b',2) 2 >>> dict1 {'a': 1, 'b': 2}
3、刪除字典
#刪除指定鍵-值對(duì) >>> dict1 {'a': 1, 'b': 2} >>> del dict1['a'] #也可以用pop方法,dict1.pop('a') >>> dict1 {'b': 2} #清空字典 >>> dict1.clear() >>> dict1 #字典變?yōu)榭樟? {} #刪除字典對(duì)象 >>> del dict1 >>> dict1 Traceback (most recent call last): File "<interactive input>", line 1, in <module> NameError: name 'dict1' is not defined
4、字典的方法
1)get(key,default=None)
返回鍵值key對(duì)應(yīng)的值;如果key沒有在字典里,則返回default參數(shù)的值,默認(rèn)為None
>>> dict1 #空的字典 {} >>> dict1.get('a') #鍵‘a(chǎn)'在dict1中不存在,返回none >>> dict1.get('d1','no1') #default參數(shù)給出值'no1',所以返回'no1' 'no1' >>> dict1['a']='no1' #插入一個(gè)新元素 >>> dict1 {'a': '1111'} >>> dict1.get('a') #現(xiàn)在鍵'a'存在,返回其值 '1111'
2)clear 清空字典
3)has_key(key) 如果key出現(xiàn)在dict里則返回True;否則返回False
>>> dict1 {'a': '1111'} >>> dict1.has_key('b') False >>> dict1.has_key('a') True
4)items 返回dict的(鍵,值)tuple對(duì)的一個(gè)列表
>>> dict1 {'a': 'no1', 'b': '2222'} >>> dict1.items() [('a', 'no1'), ('b', '2222')]
5)keys 返回dict的鍵列表
6)values 返回dict的值列表
>>> dict1 {'a': 'no1', 'b': '2222'} >>> dict1.keys() ['a', 'b'] >>> dict1.values() ['no1', '2222']
7)setdefault(key,default=None)
如果dict中有key,則返回key值,如果沒有找到key,則在dict中加上該key,值由default參數(shù)給出,默認(rèn)None
8)update(dict2)
把dict2的元素加入到dict中去,鍵字重復(fù)時(shí)會(huì)覆蓋dict中的鍵值
>>> dict2 {'c': '3333', 'b': 'no2'} >>> dict1 #dict2和dict1的鍵‘b'重復(fù) {'a': 'no1', 'b': '2222'} >>> dict1.update(dict2) #調(diào)用update后,dict1的鍵'b'值被覆蓋了 >>> dict1 {'a': 'no1', 'c': '3333', 'b': 'no2'}
9)popitem 刪除任意鍵-值對(duì),并返回該鍵-值對(duì),如字典為空,則產(chǎn)生異常
>>> dict1 {'b': 'no2'} >>> dict1.popitem() ('b', 'no2') >>> dict1 {} >>> dict1.popitem() Traceback (most recent call last): File "<interactive input>", line 1, in <module> KeyError: 'popitem(): dictionary is empty'
10)pop(key,[d]) 刪除指定鍵字的鍵-值對(duì),并返回該鍵對(duì)應(yīng)的值
>>> dict1 {'a': 'no1', 'c': '3333', 'b': 'no2'} >>> dict1.pop('a') 'no1' >>> dict1 {'c': '3333', 'b': 'no2'}
11)copy 返回字典的一個(gè)淺拷貝
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用python編寫腳本獲取手機(jī)當(dāng)前應(yīng)用apk的信息
使用aapt工具獲取apk的信息,保存至腳本所在目錄下的PackageInfo.txt文件中,需要的朋友可以參考下2014-07-07Elasticsearches之python使用及Django與Flask集成示例
這篇文章主要為大家介紹了Elasticsearches之python使用及Django與Flask集成示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Python數(shù)據(jù)結(jié)構(gòu)之翻轉(zhuǎn)鏈表
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)之翻轉(zhuǎn)鏈表的相關(guān)資料,需要的朋友可以參考下2017-02-02pandas常用表連接merge/concat/join/append詳解
使用python的pandas庫(kù)可以很容易幫你搞定,而且性能也是很出色的;百萬(wàn)級(jí)的表關(guān)聯(lián),可以秒出,本文給大家分享pandas常用表連接merge/concat/join/append詳解,感興趣的朋友跟隨小編一起看看吧2023-02-02Pytorch如何打印與Keras的model.summary()類似的輸出(最新推薦)
這篇文章主要介紹了Pytorch如何打印與Keras的model.summary()類似的輸出,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07Python 讀取xml數(shù)據(jù),cv2裁剪圖片實(shí)例
這篇文章主要介紹了Python 讀取xml數(shù)據(jù),cv2裁剪圖片實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python 棧實(shí)現(xiàn)的幾種方式及優(yōu)劣詳解
這篇文章主要為大家介紹了Python 棧實(shí)現(xiàn)的幾種方式及優(yōu)劣詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10