2015-10-12 59 views
0

可以說我有下面的列表,如[key,value, key,value, key,value] ,我希望把它變成一本字典,它看起來像詞典: {key:value, key:value, key:value}的Python:追加到從zip

我已經試過

dict(zip(mydict[::2], mydict[1::2])) 

但是,其中一個密鑰的原始值不斷被覆蓋。如果密鑰已經存在,我該如何更改它以便附加到字典中?

+0

它不會的。你確定沒有重複的鍵嗎? – darkryder

+0

哦,那裏重複的鍵,我怎麼讓他們互相覆蓋,只是追加? – AdminTech

回答

1

我不確定當時是否有誤解。字典中不能有重複的鍵。一個會覆蓋另一個。

[in] >>> d = dict([('x',3),('x',4)]) 
[in] >>> print(d) 
[out] >>> {'x': 4} 

也許你在想一個defaultdict

[in] >>> from collections import defaultdict 
[in] >>> d = defaultdict(list) 
[in] >>> for k,v in [('x',3),('x',4)]: 
     >>>  d[k].append(v) 
[in] >>> print(d) 
[out] >>> defaultdict(<class 'list'>, {'x': [3, 4]})