Python mesclando dicionário de dicionários em um dicionário, somando o valor
Desejo mesclar todos os dicionários em um dicionário, ignorando as principais chaves do dicionário e somando o valor dos outros dicionários por valor.
Entrada:
{'first':{'a': 5}, 'second':{'a': 10}, 'third':{'b': 5, 'c': 1}}
Resultado:
{'a': 15, 'b': 5, 'c': 1}
Eu fiz:
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
O que funciona, mas não acho que seja uma maneira tão boa (ou menos "pitônica").
A propósito, eu não gosto do título que escrevi. Se alguém pensar em uma redação melhor, edite.