Python combina diccionario de diccionarios en un diccionario sumando el valor
Quiero fusionar todos los diccionarios en un diccionario, ignorando las claves principales del diccionario y sumando el valor de los otros diccionarios por valor.
Entrada:
{'first':{'a': 5}, 'second':{'a': 10}, 'third':{'b': 5, 'c': 1}}
Salida:
{'a': 15, 'b': 5, 'c': 1}
Yo hice:
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
Lo que funciona, pero no creo que sea una buena manera (o menos "pitónica").
Por cierto, no me gusta el título que escribí. Si alguien piensa en una mejor redacción, edítelo.