添加具有相同键和 int 类型值的字典列表
Add list of dicts with same keys and values of type int
在 Python 3.5 中,如果我有两个具有相同键和整数值的字典,我可以这样添加它们:
x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = {**x, **y}
但是,如果我有一个很长的词典列表,它们共享 x
和 y
的格式怎么办?在这种情况下,z
的语法是什么?
对于列表中任意数量的字典,只需使用循环,这是惯用的方式:
z = {}
for d in list_of_dicts:
z.update(d)
>>> 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}
>>>
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)
在 Python 3.5 中,如果我有两个具有相同键和整数值的字典,我可以这样添加它们:
x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = {**x, **y}
但是,如果我有一个很长的词典列表,它们共享 x
和 y
的格式怎么办?在这种情况下,z
的语法是什么?
对于列表中任意数量的字典,只需使用循环,这是惯用的方式:
z = {}
for d in list_of_dicts:
z.update(d)
>>> 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}
>>>
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)