溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中的字典有什么用

發(fā)布時間:2021-11-01 17:20:38 來源:億速云 閱讀:372 作者:小新 欄目:編程語言

這篇文章主要介紹python中的字典有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

dict Python內(nèi)置了字典:dict的支持,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值**(key-value)**存儲,具有極快的查找速度。

舉個例子,假設(shè)要根據(jù)同學(xué)的名字查找對應(yīng)的成績,如果用list實現(xiàn),需要兩個list:

names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]

給定一個名字,要查找對應(yīng)的成績,就先要在names中找到對應(yīng)的位置,再從scores取出對應(yīng)的成績,list越長,耗時越長。

如果用dict實現(xiàn),只需要一個“名字”-“成績”的對照表,直接根據(jù)名字查找成績,無論這個表有多大,查找速度都不會變慢。用Python寫一個dict如下:

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael']
#輸出 95

注意字典中的KEY是不重復(fù)可哈希

如果定義時KEY重復(fù),默認后面覆蓋前面

i = {"蘋果":50,"葡萄":30,"蘋果":40}
print(i)

#輸出
{'蘋果': 40, '葡萄': 30}

向字典里面增加元素

方法:dict['new_key']=new_value

a={'Michael': 95, 'Bob': 75, 'Tracy': 85}
a['lee']=100
print(a)
#輸出 {'Michael': 95, 'Bob': 75, ''lee':100,Tracy': 85}

注意字典里面內(nèi)容是無序的,所以生成a['lee']的位置是隨機的

對字典里面元素進行修改

方法:直接修改value 的值即可修改,多次對一個key放入value,后面的值會把前面的值沖掉:

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['bob']=100
print(d)
#輸出{'Michael': 95, 'Bob': 100, 'Tracy': 85}

如果key不存在,Dict就會報錯

>>> d['Thomas']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Thomas'

遍歷dict中的 kye,value

方法1:

a={"name":"lee","job":"it","sex":"man"}
for i in a: 
    print( i,a[i])                 #效率高
#輸出  job      it
 #name  lee
 #sex man

方法2:

for i,n in a.items():       #效率低
    print(i,n)
#輸出內(nèi)容和方法1相同,但方法1效率更高,因為a.items() 先要轉(zhuǎn)換成字典列表對象
print(a.items())
#輸出內(nèi)容為 [('name','lee'),('job','it'),('sex','man')]

dict字典的一些方法: 可以用Python3.5 自帶命令查找方法列表和方法的用法

a={'name',"lee"}
dir(a)

得到結(jié)果

python中的字典有什么用

#用法 ,注意后面不用加()
help(a.get)

得到結(jié)果

help

字典生成式

配合 內(nèi)置函數(shù)zip()使用

zip():將用于可迭代的對象當(dāng)成作為參數(shù),將對象中的元素打包成一個元組,然后返回由這些元組組成的列表

方法1:循環(huán)法

{ i:j for i,j in zip(keys,values)}

items = ['蘋果',"梨子","香蕉"]
prices = [5,3,4]

print(zip(items,prices))
print(type(zip(items,prices)))


#下面的 item price 是自定義變量,可隨意替換 如i,j
dict1 = {item:price for item,price in zip(items,prices)}
print(dict1)

#輸出
{'蘋果': 5, '梨子': 3, '香蕉': 4}
<zip object at 0x000002AEA57A5540>
<class 'zip'>

方法2:dict(zip(keys,values))

用dict 方法轉(zhuǎn)換 ,代碼少

items = ['蘋果',"梨子","香蕉"]
prices = [5,3,4]
dict2 = dict(zip(items,prices))
print(dict2)
#輸出
{'蘋果': 5, '梨子': 3, '香蕉': 4}

以上是“python中的字典有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI