2014-11-04 57 views
-2

我是python的初學者,想要執行類似如下的操作:在現有python字典中添加更多值

dict中的值是一個列表。如果密鑰已經存在於字典中,則附加到值列表。如果鍵不存在,則添加鍵值對。值字段是一個列表,我需要一次追加一個值到列表中。

d = { x: [1,2,3,4] 
     y : [5,6,7,8] } 

如果現在z是下一個鍵,因爲它不存在,我們將它添加到字典和相應的值。另一個鍵值(比如X:9),字典應該是:

d = {x : [1,2,3,4,9] 
    y : [5,6,7,8] 
    z : [10] 
    } 

回答

2

您可以使用collections.defaultdict創建具有空單作爲默認值的字典:

from collections import defaultdict 

d = defaultdict(list) 
d['x'] = [1,2,3,4] 
d['y'] = [5,6,7,8] 
# d is {'y': [5, 6, 7, 8], 'x': [1, 2, 3, 4]} 

d['z'].append(10) 
d['x'].append(9) 
print d 
# d is now {'y': [5, 6, 7, 8], 'x': [1, 2, 3, 4, 9], 'z': [10]} 

注意,這因爲list是創建空列表的內置函數。