que tienen una lista de diccionarios, por ejemplo:¿Cómo crear un solo dict de Python a partir de una lista de dictados sumando valores con claves comunes?
dictList = [
{'a':3, 'b':9, 'c':4},
{'a':9, 'b':24, 'c':99},
{'a':10, 'b':23, 'c':88}
]
Todos los diccionarios tienen las mismas claves, por ejemplo, a, b, c. Deseo crear un solo diccionario con las mismas claves donde los valores son las sumas de los valores con las mismas claves de todos los diccionarios en la lista original.
lo tanto, para el ejemplo anterior, la salida debe ser:
{'a':22, 'b':56, 'c':191}
¿Cuál sería la forma más eficiente de hacer esto? Actualmente tengo:
result = {}
for myDict in dictList:
for k in myDict:
result[k] = result.setdefault(k, 0) + myDict[k]
+1 y si no tienen todas las claves: dict ((clave, suma (d.get (clave, 0) para d en dictList)) for key in dictList [0])) –
@Nadia: tanto la respuesta de Brian como tu comentario dan el mismo código – uolot
@paffnucy: no, no lo hacen/ – SilentGhost