我有一個itemList
元組的序列(key, value)
格式,我想將該列表中的項目轉換爲格式爲{key : [value, ..], ..}
的dict
。一個特定的key
值可能多次出現在itemList
中,並且匹配的或新的value
,我也想記錄這些值(這就是爲什麼簡單地使用dict(itemList)
不起作用)。有沒有一種更簡潔的方式來將一個(鍵,值)元組序列轉換爲{key:[value,..],..}字典?
我使用Python2.7.9
並尋找方法來小型化驗證碼:
newDict = dict()
for k,v in itemList: # itemList contains the tuples described above.
if k in newDict:
newDict[k].append(v)
else:
newDict[k] = [v]
我一直在使用相結合,並map()
與list-comprehensions
嘗試newDict.update(..)
但沒有制定出預期。
我看過this similar question,,但我的輸入和所需輸出的格式有很大不同。 (對於那些想知道的,「你爲什麼要改變這個完全可以接受的代碼?」:我有興趣找到更多的應用Python的內置插件和模塊作爲學術練習的替代方法,而不是有目的地避免一些功能和理解。)
這些都是非常有趣的方法!我以前用過'dict.get(SomeThing,dict())',但我沒有注意到'setdefault'! +1 我也許應該看一下'藏品',因爲我看到它很多,但一直在推遲它...... – Augusta