Python字典及相關操作(內含例題)


Python字典類型

今天將會介紹一種在python中十分常見的組合數據類型——字典

通過一些實例來理解字典中的常規操作

什么是字典類型?

列表中查找是通過整數的索引(元素在列表中的序號)來實現查找功能。

但很多應用程序需要更加靈活的查找方式,即表示索引的鍵和對應的值組成。

比如說:“用戶名”查找“手機號”,“學號”查找“學院班級”等等

通過任意鍵信息查找一組數據中值信息的過程叫“映射”

Python語言中,通過字典來實現映射。

簡單理解為,字典為處理信息與信息相對應映射關系的組合數據類型。

字典類型操作

創建一個字典,內容為國家與首都的映射,並添加中國、美國、法國為例

#第一中添加方式
d={"中國":"北京","美國":"華盛頓"}
#第二種添加方式
d["法國"]="巴黎"
print(d)

 

這里需要注意一點,字典和集合 一樣具有無序性,所以返回結果可能和輸入順序有所差別

字典類型主要結構為 :對應

在上例中,中國、美國、法國就相當於鍵,北京、華盛頓、巴黎屬於值。

1.keys()

函數作用為返回所有“鍵”信息,也就是返回“中國、美國、法國”,不需要傳入任何參數,使用方法如下:

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
print(d.keys())

 

結果如下所示:

 

 

 提示:可以將結果以列表的方式輸入,只需要加入list()轉換一下

2.values()

與keys()函數作用相似,作用為返回字典的值信息,也就是返回“北京、華盛頓、巴黎”,同樣不需要參數,使用方法如下

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
print(d.values())

 

結果如下所示:

3.items()

 

其主要作用為返回字典所有的鍵值對,看起來和直接打印字典本身差距不大,那專門來對比下效果:

 

 

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
#直接打印
print(d)
#打印鍵值對
print(d.items())

 

 

 

 

效果如下:

 

 

 很明顯,通過items()打印鍵值對,鍵值對會通過()來表示相關關系

4.get(<key>,<default>)

get()函數為判斷函數,判斷鍵是否有對應的值,若對應值存在 則返回對應值,若不存在則返回參數值,若未輸入參數值,默認為none

舉例子:輸入鍵——中國,存在值——北京,則返回“北京”,輸入鍵——泰國,不存在值,則返回none

 

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
# 鍵中國有對應值,返回北京
print(d.get("中國"))
# 鍵泰國無對應值、無傳入默認值,返回none
print(d.get("泰國"))
# 鍵意大利無對應值,有傳入默認值"字典中無此數據" 返回默認值"字典中無此數據"
print(d.get("意大利","字典中無此數據"))

 

 

 

結果如下:

 

 

 

5.pop(<key>,<default>)

pop()函數與get()相似,使用方法相同,但是,pop()函數在get()的基礎上,多加了一步,若鍵存在則在返回相應值的同時刪除對應鍵,若不存在同get ()

 

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
print(d)
print(d.pop("法國"))
print(d)

 

 

 

為效果明顯,先打印原字典,通過pop刪除后再打印字典,如下圖所示,法國的鍵值對消失不見()

 

 

 6.popitem()

函數作用為,隨機從字典中選取一個鍵值對,並且以元組(key,walue)的形式返回

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
print(d.popitem())

 

7.clear()

如同英文直譯一樣, clear()的作用為刪除所有的鍵值對,也就是清空字典內部所有數據

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
print(d)
d.clear()
print(d)

 

結果如下:

8.del<d>[<key>]

 

操作為傳入鍵,刪除對應的鍵值對.

 

 

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
print(d)
del d["法國"]
print(d)

 

 

 

 

結果為:

 

9<key>in<d>

屬於判斷函數,若鍵在字典中為則返回true 否則返回false

d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}
print("美國" -in d)

 

字典實戰演練

例子1

D={“張三”:88,“李四”:90,“王五”:73,“趙六”:82}

1.字典中添加鍵值對“錢七”:90

D={"張三":88,"李四":90,"王五":73,"趙六":82}
D["錢七"]=90
print(D)

 

2.修改王五的信息為93

D={"張三":88,"李四":90,"王五":73,"趙六":82}
D["王五"]=93
print(D)

 

3.刪除趙六對應的鍵值對

D={"張三":88,"李四":90,"王五":73,"趙六":82}
D.pop("趙六")
print(D)

 

例子2:

輸入一串字符串,統計每一個字母出現的次數

s=input("輸入:")
d={}
for i in s:
    if i not in d :
        d[i]=1
    else:
        d[i]=d[i]+1
print(d)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM