Python: Wörterbücher elegant mit sum () von Werten zusammenführen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Gibt es eine pythonische Möglichkeit, zwei Wörter zu kombinieren (Werte für Schlüssel hinzufügen, die in beiden enthalten sind)? 18 answers

Ich versuche, Protokolle von mehreren Servern zusammenzuführen. Jedes Protokoll ist eine Liste von Tupeln date, count).date kann mehrmals vorkommen, und ich möchte, dass das resultierende Wörterbuch die Summe aller Zählungen aller Server enthält.

Hier ist mein Versuch, mit einigen Daten zum Beispiel:

from collections import defaultdict

a=[("13.5",100)]
b=[("14.5",100), ("15.5", 100)]
c=[("15.5",100), ("16.5", 100)]
input=[a,b,c]

output=defaultdict(int)
for d in input:
        for item in d:
           output[item[0]]+=item[1]
print dict(output)

Was gibt:

{'14.5': 100, '16.5': 100, '13.5': 100, '15.5': 200}

Wie erwartet

Ich bin gerade dabei, Bananen zu essen, weil ein Kollege den Code gesehen hat. Sie besteht darauf, dass es eine pythonischere und elegantere Methode geben muss, ohne dass diese für Schleifen verschachtelt sind. Irgendwelche Ideen

Antworten auf die Frage(4)

Ihre Antwort auf die Frage