Ich habe eine sehr lange Liste von Wörterbüchern mit String-Indizes und Integer-Werten. Viele der Schlüssel sind in den Wörterbüchern gleich, wenn auch nicht alle. Ich möchte ein Wörterbuch erstellen, in dem die Schlüssel die Vereinigung der Schlüssel in den einzelnen Wörterbüchern sind und die Werte die Summe aller Werte sind, die diesem Schlüssel in jedem der Wörterbücher entsprechen. (Der Wert für den Schlüssel 'apple' im kombinierten Wörterbuch ist beispielsweise die Summe des Werts von 'apple' in der ersten, plus der Summe des Werts von 'apple' in der zweiten usw.)Hinzufügen von Elementen in einer Liste von Wörterbüchern
Ich habe folgendes, aber es ist ziemlich umständlich und dauert Alter auszuführen. Gibt es einen einfacheren Weg, um das gleiche Ergebnis zu erzielen?
comb_dict = {}
for dictionary in list_dictionaries:
for key in dictionary:
comb_dict.setdefault(key, 0)
comb_dict[key] += dictionary[key]
return comb_dict
Danke! f2() hat ungefähr 80% der Zeit für meine spezielle Anwendung gekürzt. YRMV, offensichtlich. – chimeracoder