我希望将字典中的所有子字典合并,同时忽略主字典键,并按值对其他字典的值进行求和。
输入:
输入:
{'first':{'a': 5}, 'second':{'a': 10}, 'third':{'b': 5, 'c': 1}}
输出:
{'a': 15, 'b': 5, 'c': 1}
我做了:
def merge_dicts(large_dictionary):
result = {}
for name, dictionary in large_dictionary.items():
for key, value in dictionary.items():
if key not in result:
result[key] = value
else:
result[key] += value
return result
这个方法是可行的,但我不认为这是一个好的方式(或不够"Pythonic")。
顺便说一下,我不喜欢我写的标题。如果有人想到更好的措辞,请编辑。
large_dictionary.items()
而不是large_dictionary.values()
。 - Stefan Pochmann