版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python編程基礎(chǔ)字典一、字典的定義與訪問二、字典的常見操作三、字典的遍歷和嵌套引入*映射是通過鍵值查找一組數(shù)據(jù)值信息的過程,由“鍵-值”對(duì)組成。通過鍵可以找到其映射的值。比如手機(jī)通訊錄,姓名和電話之間就存在映射關(guān)系,只要定位到特定姓名,就可以查找到對(duì)應(yīng)的電話號(hào)碼。其中,姓名就類似于“鍵”,而手機(jī)號(hào)碼就類似于對(duì)應(yīng)的“值”。引入*字典(dictionary)是Python中內(nèi)置的映射類型,是包含若干“鍵:值”元素的無(wú)序可變序列。字典中的每個(gè)元素包含用冒號(hào)分隔開的“鍵”和“值”兩部分,不同元素之間用逗號(hào)分隔,所有的元素放在一對(duì)大括號(hào)"{}"中。其中鍵可以是Python中任意不可變數(shù)據(jù),也就是說在同一個(gè)字典中,鍵(Key)必須是唯一的,而值是可以重復(fù)的。此外,由于字典中的元素(鍵值對(duì))是無(wú)序的,因此不能對(duì)字典進(jìn)行索引、切片等操作。一、字典的定義與訪問在Python中,字典定義的語(yǔ)法格式如下所示。字典對(duì)象={鍵1:值1,鍵2:值2,…,鍵n:值n}字典對(duì)于值的類型,并沒有過多的限制,但是鍵的類型必須是數(shù)字、字符串或元組等不可變類型。*一、字典的定義與訪問【例】empty_dict={}#空字典empty_dict=dict()#或者使用dict()#如果字典不為空,那么鍵和值之間要用冒號(hào)":"隔開,元素(鍵值對(duì))之間用","隔開dict1={'weight':100,'height':1.83}一個(gè)空字典可以用一對(duì)花括號(hào)"{}"表示,也可以用dict()函數(shù)創(chuàng)建一、字典的定義與訪問【例】通過賦值的方式創(chuàng)建字典dict2={}dict2["id"]=101dict2["name"]="Lisa"dict2["age"]=18print("dict2:",dict2)執(zhí)行程序,運(yùn)行結(jié)果如下所示dict2:{'id':101,'name':'Lisa','age':18}一、字典的定義與訪問【例】利用內(nèi)置函數(shù)dict()通過已有數(shù)據(jù)快速創(chuàng)建字典dict3=dict([(1,'a'),(2,'b'),(3,'c')])print("dict3:",dict3)dict4=dict(a=1,b=2,c=3)print("dict4:",dict4)執(zhí)行程序,運(yùn)行結(jié)果如下所示dict3:{1:'a',2:'b',3:'c'}dict4:{'a':1,'b':2,'c':3}內(nèi)置函數(shù)fromkeys()也可以創(chuàng)建字典,使用給定的鍵,創(chuàng)建一個(gè)新的字典對(duì)象,每個(gè)鍵默認(rèn)對(duì)應(yīng)的值為None。一、字典的定義與訪問【例】利用內(nèi)置函數(shù)fromkeys()創(chuàng)建字典。dict5={}.fromkeys(['id','name','age'])print("dict5:",dict5)dict5['id']='100'print("dict5:",dict5)執(zhí)行程序,運(yùn)行結(jié)果如下所示dict5:{'id':None,'name':None,'age':None}dict5:{'id':'100','name':None,'age':None}fromkeys()是字典的方法,不能單獨(dú)使用一、字典的定義與訪問訪問字典里的值和訪問序列元素是一樣的,通過方括號(hào)"[]",把相應(yīng)的鍵放入其中,即以鍵作為下標(biāo)可以讀取字典元素,若鍵不存在則會(huì)拋出異常。*【例】aDict={'name':'Dong','sex':'male','age':37}print(aDict['name'])print(aDict['tel'])#輸出:Dong#鍵不存在,拋出異常如何避免由于鍵不存在而引發(fā)的異常?一、字典的定義與訪問【例1】使用操作符in檢查鍵是否存在aDict={'name':'Dong','sex':'male','age':37}if'age'inaDict:print(aDict['age'])執(zhí)行程序,運(yùn)行結(jié)果如下所示37使用操作符in可以檢查指定的鍵是否在字典對(duì)象中存在,如果存在,返回True,否則返回False。一、字典的定義與訪問【例2】利用get()方法>>>aDict.get('name')#鍵存在,返回對(duì)應(yīng)的值
'Dong'>>>aDict.get('city')#鍵不存在,返回None值
None>>>aDict.get('city','不存在')#鍵不存在,返回指定參數(shù)default的值
'不存在'>>>aDict.get('age','不存在')#鍵存在,參數(shù)default無(wú)效
37使用字典內(nèi)置的get()方法可以獲取指定鍵對(duì)應(yīng)的值,并且可以在鍵不存在的時(shí)候返回指定值,如果不指定,則默認(rèn)返回None。語(yǔ)法格式:dict.get(key,default=None)二、字典的常見操作字典元素的讀取使用字典對(duì)象的items()方法可以返回字典的鍵、值對(duì)列表;使用字典對(duì)象的keys()方法可以返回字典的鍵列表;使用字典對(duì)象的values()方法可以返回字典的值列表?!纠?gt;>>aDict={'name':'Dong','sex':'male','age':37}>>>aDict.items()#返回所有鍵-值對(duì)
dict_items([('name','Dong'),('sex','male'),('age',37)])>>>aDict.keys()#返回所有鍵
dict_keys(['name','sex','age’])>>>aDict.values()#返回所有值
dict_values(['Dong','male',37])
*二、字典的常見操作鍵值對(duì)的增加與修改當(dāng)以指定鍵為下標(biāo)為字典賦值時(shí),若鍵存在,則可以修改該鍵的值;若不存在,則表示添加一個(gè)鍵值對(duì)。*【例】>>>aDict['age']=38#修改元素值>>>aDict#此時(shí)aDict的值{'age':38,'name':'Dong','sex':'male'}>>>aDict['address']='SDIBT'#增加新元素>>>aDict#此時(shí)aDict的值{'age':38,'address':'SDIBT','name':'Dong','sex':'male'}二、字典的常見操作方法說明dicts.get(key,default)鍵存在則返回相應(yīng)值,否則返回默認(rèn)值dicts.pop(key,default)鍵存在則返回相應(yīng)值,同時(shí)刪除鍵值對(duì),否則返回默認(rèn)值dicts.keys()返回所有的鍵信息dicts.values()返回所有的值信息dicts.items()返回所有的鍵值對(duì)dicts.popitem()刪除字典的最后一個(gè)鍵值對(duì),并將其以元組(key,value)的形式返回(注意:如果字典為空,會(huì)產(chǎn)生KeyError異常)dicts.clear()刪除所有的鍵值對(duì)deldicts[key]刪除字典中的某個(gè)鍵值對(duì)dicts.copy()復(fù)制字典dicts.update(dicts2)更新字典,參數(shù)dicts2為更新的字典*二、字典的常見操作【例】字典常用方法——copy()方法的使用dict1={1:'a',2:'b',3:'c'}#定義字典dict2=dict1.copy()dict2[1]='m’print(dict1)print(dict2)執(zhí)行程序,運(yùn)行結(jié)果如下所示{1:'a',2:'b',3:'c'}{1:'m',2:'b',3:'c'}二、字典的常見操作【例】字典常用方法——update()方法的使用dict1={1:'a',2:'b',3:'c'}#定義字典dict2={1:'x’}dict1.update(dict2)print(dict1)dict3={4:'d’}dict1.update(dict3)print(dict1)執(zhí)行程序,運(yùn)行結(jié)果如下所示{1:'x',2:'b',3:'c'}{1:'x',2:'b',3:'c',4:'d'}update()方法可以向指定的字典中添加另一個(gè)字典中的鍵值對(duì)三、字典的遍歷和嵌套使用上面的keys()、values()和items()等內(nèi)置方法,與for和in配合,就可以用來遍歷字典對(duì)象中的所有數(shù)據(jù)。*【例】字典的遍歷counts=dict([(1,'a'),(2,'b'),(3,'c')])print("遍歷所有的鍵:",end='')forkeyincounts:print(key,end=',')print("\n遍歷所有的值:",end='')forvalueincounts.values():print(value,end=',')
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 我因幼教而美麗示范演講稿(3篇)
- 河道保護(hù)倡議書
- 2024年全國(guó)技術(shù)高校(烘焙)職業(yè)技能知識(shí)考試題庫(kù)與答案
- 山東省煙臺(tái)龍口市(五四制)2024-2025學(xué)年九年級(jí)上學(xué)期期中考試化學(xué)試題
- 甘肅省多校2024-2025學(xué)年高一上學(xué)期期中聯(lián)考語(yǔ)文試卷(含答案)
- 2024-2025學(xué)年江陰市花園實(shí)驗(yàn)小學(xué)四年級(jí)上冊(cè)期中試卷
- 四川省高考語(yǔ)文五年試題匯編-論述類文本閱讀
- 實(shí)習(xí)教師工作職責(zé)合同范本
- 廣告制作授權(quán)合同模板
- 學(xué)生安全責(zé)任協(xié)議書
- GB/T 3215-1982煉廠、化工及石油化工流程用離心泵通用技術(shù)條件
- GB/T 2885.5-2008礦用窄軌車輛第5部分:平板車
- GB/T 25021-2010軌道檢查車
- GB/T 2492-2003普通磨具交付砂輪允許的不平衡量測(cè)量
- 醫(yī)院運(yùn)行與醫(yī)療業(yè)務(wù)指標(biāo)數(shù)據(jù)統(tǒng)計(jì)收集管理規(guī)定
- 中小學(xué)作文教學(xué)論文參考文獻(xiàn),參考文獻(xiàn)
- 風(fēng)險(xiǎn)因素識(shí)別與評(píng)價(jià)表(幕墻工程危險(xiǎn)源)
- 腫瘤患者的人文關(guān)懷
- 院壓瘡PDCA持續(xù)改進(jìn)案例報(bào)告課件
- 卡通插畫幼兒園國(guó)防教育主題班會(huì)課程PPT實(shí)施課件
- 新青年的責(zé)任與擔(dān)當(dāng)PPT中國(guó)青年始終是實(shí)現(xiàn)中華民族偉大復(fù)興的先鋒力量PPT課件(帶內(nèi)容)
評(píng)論
0/150
提交評(píng)論