首頁 >後端開發 >Python教學 >python實作一鍵多值字典的方法實現

python實作一鍵多值字典的方法實現

不言
不言轉載
2018-10-11 14:20:534624瀏覽

這篇文章帶給大家的內容是關於python實現一鍵多值字典的方法實現,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1、需求

我們想要一個能將鍵(key)對應到多個值的字(即所謂的一鍵多值字典)

#2、解決方案

字典是一種關聯容器,每個鍵都對應到一個單獨的值。如果想要讓鍵對應到多個值,則需要將這些多個值儲存到另一個容器(清單或集合)。

可以這樣建立字典:

d={
‘a’:[1,2,3],
'b':[4,5]
}

或這樣建立:

d={
'a':{1,2,3},
'b':{4,5}
}

要使用清單還是集合完全取決應用的意圖。如果希望保留元素插入的順序,就用列表,如果希望消除重複元素(並且不在乎他們的排序),就用集合。

為了能方便的創建這樣的字典,可以利用collections模組中的defaultdict類別。 defaultdict的一個特點是它會自動初始化第一個值,這樣只需專注於添加元素即可:

from collections import defaultdict
d=defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(4)
print(d)
d=defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['b'].add(4)
print(d)

結果:

defaultdict(<class &#39;list&#39;>, {'a': [1, 2], 'b': [4]})
defaultdict(<class &#39;set&#39;>, {'a': {1, 2}, 'b': {4}})

以上是python實作一鍵多值字典的方法實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除