Wörterbücher in Python zusammenführen: Werte für überlappende Schlüssel hinzufügen
Bei der Arbeit mit mehreren Wörterbüchern ist es oft notwendig, diese auf sinnvolle Weise zu kombinieren . Ein häufiges Szenario besteht darin, die Werte von Schlüsseln zu addieren, die in beiden Wörterbüchern vorkommen, während Schlüssel beibehalten werden, die nur in einem vorhanden sind.
Problem:
Berücksichtigen Sie die folgenden Wörterbücher:
Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5}
Das Ziel besteht darin, diese Wörterbücher so zusammenzuführen, dass das Ergebnis ist:
{'a': 1, 'b': 5, 'c': 7, 'd': 5}
Lösungsverwendung Collections.Counter:
Eine pythonische und effiziente Möglichkeit, dies zu erreichen, ist die Verwendung der Collections.Counter-Klasse. Es handelt sich um eine Unterklasse von dict, die eine bequeme Möglichkeit zur elementbasierten Zählung bietet, die sich gut für die Aufgabe des Zusammenführens von Wörterbüchern eignet.
from collections import Counter A = Counter({'a':1, 'b':2, 'c':3}) B = Counter({'b':3, 'c':4, 'd':5})
Um die Wörterbücher zusammenzuführen, fügen wir einfach die Counter-Objekte hinzu:
merged_dict = A + B
Das Ergebnis ist ein neues Counter-Objekt, das automatisch Werte für überlappende Schlüssel hinzufügt:
merged_dict.most_common() # Output: [('c', 7), ('b', 5), ('d', 5), ('a', 1)]
Konvertieren es zu einem regulären Wörterbuch ist trivial:
merged_dict = dict(merged_dict)
Das obige ist der detaillierte Inhalt vonWie kann ich Python-Wörterbücher und Summenwerte für gemeinsame Schlüssel effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!