2017-04-11 63 views
-2

我是新來的Python我有有許多重複鍵爲字典中的一個鍵添加多個值?

{'key1': 'value1', 'key2': 'value2','key1': 'value3', 'key3': 'value4','key1': 'value5'......} 

字典想這樣

{ 
"key1": [value1,value3,value5], 
"key2": [value2], 
"key3": [value4] 

}

我怎樣才能做到這一點的輸出?

+5

你不能,因爲字典不能有重複鍵。只是將它們列在字典視圖(您使用的字面語法)中*不起作用*;你只剩下一個字典,其中只有最後一個給定鍵名的值。 –

+0

你不能有重複的密鑰,但你可以找到一些解決方法:http://www.wellho.net/mouth/3934_Multiple-identical-keys-in-a-Python-dict-yes-you-can- .html – Dadep

+0

我也在想你的對象可能不是Python字典。你的對象是什麼類型(可以從'type(your-object-name)'得到這個?或者你能向我們展示打印你的對象的原始輸出嗎? –

回答

0

假設您要從包含重複鍵列表/元組實現這一點,你可以這樣做:

from collections import defaultdict 
dupes = (('k1', 1), ('k2', 2), ('k1', 3), ('k3', 4)) 
res = defaultdict(list) 
for k,v in dupes: 
    res[k].append(v) 

print(res) 
defaultdict(<type 'list'>, {'k3': [4], 'k2': [2], 'k1': [1, 3]}) 
相關問題