添加具有相同键和int类型值的字典列表

时间:2019-05-16 20:44:53

标签: python python-3.x dictionary merge add

在Python 3.5中,如果我有两个具有相同键和整数值的字典,则可以这样添加它们:

x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = {**x, **y}

但是,如果我有很长的词典列表共享xy的格式怎么办?在这种情况下,z的语法是什么?

3 个答案:

答案 0 :(得分:1)

对于列表中任意数量的字典,只需使用循环即可,这是惯用的方式:

z = {}
for d in list_of_dicts:
    z.update(d)

答案 1 :(得分:0)

>>> a = {1:11}
>>> b = {2:22}
>>> c = {3:33}
>>> list_abc = [a,b,c]
>>> from collections import ChainMap
>>> dict(ChainMap(*list_abc))
{1: 11, 2: 22, 3: 33}
>>>

答案 2 :(得分:0)

x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = {'b': 3, 'c': 4}

result = x.copy()

for d in (y,z):
    result.update(d)