前面的課程講解了字符串str/列表list/元組tuple,還有最后一種比較重要的數(shù)據(jù)類型也需要介紹介紹,那就是python字典,俗稱:dict.
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、廣元網(wǎng)站維護(hù)、網(wǎng)站推廣。python中的字典可與字符串/列表/元組不同,因?yàn)樽值鋎ict需要由兩部分組成,分別是key和value,簡稱:鍵值對(duì),下面具體講解一下關(guān)于字典的特點(diǎn):
1.由一個(gè)或者多個(gè)鍵值對(duì)構(gòu)成,鍵值對(duì)的類型可以不相同也可以相同;
2.字典中的鍵值對(duì)需要寫在{}中括號(hào)內(nèi)部,鍵值對(duì)中的key和value用:隔開,鍵值對(duì)與鍵值對(duì)之間用逗號(hào)隔開;
3.字典是一個(gè)無序的集合;
4.字典中key具有唯一性;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個(gè)人博客地址): shuopython.com @WeChat Official Account(微信公眾號(hào)):猿說python @Github:www.github.com @File:python_dict.py @Time:2019/9/27 20:45 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! """ dict1=dict()# 定義一個(gè)空字典 print(dict1) print(type(dict1))# 輸出字典類型 dict print(len(dict1))# 獲取字典鍵值對(duì)數(shù)量 print("***"*20)# 小竅門:直接打印60 個(gè) * #字典可以有一個(gè)或者多個(gè)鍵值對(duì)構(gòu)成,鍵值對(duì)與鍵值對(duì)之間使用逗號(hào)隔開 # "name" / "age" / "sing_gou" 是key # "隔壁老王" / 42 / True 是value dict2={"name":"隔壁老王","age":42,"singe_dog":True} print(dict2) print(type(dict2))# 輸出字典類型 dict print(len(dict2))# 獲取字典鍵值對(duì)數(shù)量 print("***"*20)# 小竅門:直接打印60 個(gè) * # 字典中出現(xiàn)了兩個(gè)一樣的key:"age",默認(rèn)后面的value會(huì)覆蓋前面的value dict3={"name":"隔壁老王","age":42,"singe_dog":True,"age":15} print(dict3) |
輸出:
1 2 3 4 5 6 7 8 9 | {} 0 ************************************************************ {'name':'隔壁老王','age':42,'singe_dog':True} 3 ************************************************************ {'name':'隔壁老王','age':15,'singe_dog':True} |
注意:如果字典中出現(xiàn)相同的key值,只有最后一個(gè)key/value有效,前面相同的key/value會(huì)被覆蓋.這就是字典dict所謂的唯一性.
在python開發(fā)過程中,對(duì)于字典使用最多的莫過于增刪改查以及遍歷,下面我們一一講解:
如果想要在字典中添加數(shù)據(jù),直接賦值就可以,比較簡單,跟上示例代碼演示一波:
1 2 3 4 5 6 7 | dict1=dict()# 定義一個(gè)空字典 print(dict1)# 輸出一個(gè)空的字典 dict1["name"]="猿說python"# 添加鍵值對(duì) "name":"猿說python" 到 dict1 dict1["url"]="shuopython.com"# 添加鍵值對(duì) "url":"shuopython.com" 到 dict1 print(len(dict1))# 獲取字典鍵值對(duì)數(shù)量 print(dict1)# 輸出整個(gè)字典 |
輸出結(jié)果:
1 2 3 | {} 2 {'name':'猿說python','url':'shuopython.com'} |
字典是無序的,每個(gè)鍵值對(duì)沒有對(duì)應(yīng)的索引值,這也是字典與字符串/列表/元祖的區(qū)別。刪除字典中的數(shù)據(jù),需要根據(jù)鍵值對(duì)中的key值來刪除對(duì)應(yīng)的鍵值對(duì),刪除使用?del?關(guān)鍵字,實(shí)例代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | dict1={"name":"zhangsan","age":38,"sing_dog":True}# 定義一個(gè)字典 print(dict1)# 輸出刪除之前的字典 # 刪除key等于"name"對(duì)應(yīng)的鍵值對(duì) deldict1["name"] print(dict1) # 刪除key等于"age"對(duì)應(yīng)的鍵值對(duì) deldict1["age"] print(dict1) # 刪除key等于"sing_dog"對(duì)應(yīng)的鍵值對(duì) deldict1["sing_dog"] print(dict1) |
輸出結(jié)果:
1 2 3 4 | {'name':'zhangsan','age':38,'sing_dog':True} {'age':38,'sing_dog':True} {'sing_dog':True} {} |
字典是無序的,每個(gè)鍵值對(duì)沒有對(duì)應(yīng)的索引值,這也是字典與字符串/列表/元祖的區(qū)別。修改字典中的鍵值對(duì)數(shù)據(jù),操作和刪除數(shù)據(jù)一樣,直接根據(jù)鍵值對(duì)中的key值操作即可,實(shí)例代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | dict1={"name":"zhangsan","age":38,"sing_dog":True}# 定義一個(gè)字典 print(dict1)# 輸出字典 # 修改key等于"name"對(duì)應(yīng)的value dict1["name"]="隔壁老王" print(dict1)# 輸出字典 # 修改key等于"age"對(duì)應(yīng)的value dict1["age"]=18 print(dict1)# 輸出字典 # 修改key等于"sing_dog"對(duì)應(yīng)的value dict1["sing_dog"]=False print(dict1)# 輸出字典 |
輸出結(jié)果:
1 2 3 4 | {'name':'zhangsan','age':38,'sing_dog':True} {'name':'隔壁老王','age':38,'sing_dog':True} {'name':'隔壁老王','age':18,'sing_dog':True} {'name':'隔壁老王','age':18,'sing_dog':False} |
字典是無序的,每個(gè)鍵值對(duì)沒有對(duì)應(yīng)的索引值,這也是字典與字符串/列表/元祖的區(qū)別。查詢字典中的鍵值對(duì)數(shù)據(jù),操作和刪除數(shù)據(jù)/修改數(shù)據(jù)一樣,直接根據(jù)鍵值對(duì)中的key值操作即可,實(shí)例代碼如下:
1 2 3 4 5 6 7 8 9 10 11 | dict1={"name":"zhangsan","age":38,"sing_dog":True}# 定義一個(gè)字典 print(dict1)# 輸出字典 # 查詢key等于"name"對(duì)應(yīng)的value print(dict1["name"]) # 查詢key等于"age"對(duì)應(yīng)的value print(dict1["age"]) # 查詢key等于"sing_dog"對(duì)應(yīng)的value print(dict1["sing_dog"]) |
輸出結(jié)果:
1 2 3 4 | {'name':'zhangsan','age':38,'sing_dog':True} zhangsan 38 True |
示例代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | dict1={"name":"zhangsan","age":38}# 定義一個(gè)字典 print(dict1)# 輸出字典 dict2={"sing_dog":True}# 定義一個(gè)字典 print(dict2) print("***"*20)# 小竅門:直接答應(yīng)60個(gè)* # update()函數(shù):將一個(gè)字典添加到另外一個(gè)字典的末尾 dict1.update(dict2) print(dict1)# 輸出字典 print("***"*20)# 小竅門:直接答應(yīng)60個(gè)* # 情況字典dict1 dict1.clear() print(dict1)# 空字典 # 情況字典dict2 dict2.clear() print(dict2)# 空字典 |
輸出效果:
1 2 3 4 5 6 7 | {'name':'zhangsan','age':38} {'sing_dog':True} ************************************************************ {'name':'zhangsan','age':38,'sing_dog':True} ************************************************************ {} {} |
1 2 3 4 5 6 7 8 9 10 11 12 | dict1={"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"}# 定義一個(gè)字典 print(dict1)# 輸出字典 print("***"*20)# 小竅門:直接答應(yīng)60個(gè)* # dict.items()方法,返回元組數(shù)據(jù),類似遍歷元組操作 forxindict1.items(): print(x,type(x)) print("***"*20)??# 小竅門:直接答應(yīng)60個(gè)* # dict.items()方法經(jīng)典寫法,直接獲取key/values forx,yindict1.items(): print(x,y) |
輸出結(jié)果:
1 2 3 4 5 6 7 8 9 10 11 | {'name':'zhangsan','age':38,'sing_dog':True,'height':'155cm'} ************************************************************ ('name','zhangsan') ('age',38) ('sing_dog',True) ('height','155cm') ************************************************************ namezhangsan age38 sing_dogTrue height155cm |
1 2 3 4 5 6 7 8 9 10 11 12 | dict1={"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"}# 定義一個(gè)字典 print(dict1)# 輸出字典 print("***"*20)# 小竅門:直接答應(yīng)60個(gè)* # 方法一:根據(jù)key值遍歷 forkeyindict1.keys(): print(key,dict1[key])??# dict1[key] 等價(jià)鍵值對(duì)中key對(duì)應(yīng)的value print("***"*20)# 小竅門:直接答應(yīng)60個(gè)* # 方法二:根據(jù)value值遍歷 forvalueindict1.values(): print(value) |
輸出結(jié)果:
1 2 3 4 5 6 7 8 9 10 11 | {'name':'zhangsan','age':38,'sing_dog':True,'height':'155cm'} ************************************************************ namezhangsan age38 sing_dogTrue height155cm ************************************************************ zhangsan 38 True 155cm |
1.注意字典的特點(diǎn)
2.注意字典/字符串/列表/元組的區(qū)別
3.注意字典的遍歷方式
4.注意字典/字符串/列表/元組之間的相互轉(zhuǎn)換
1.python字符串(str)
2.python列表(list)
3.python元組(tuple)
轉(zhuǎn)載請(qǐng)注明:猿說Python???python 字典dict
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。