2014-11-04 41 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是创建空列表的内置函数。