Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Wörterbücher und Summenwerte für gemeinsame Schlüssel effizient zusammenführen?

Wie kann ich Python-Wörterbücher und Summenwerte für gemeinsame Schlüssel effizient zusammenführen?

Patricia Arquette
Freigeben: 2024-12-11 16:22:15
Original
712 Leute haben es durchsucht

How Can I Efficiently Merge Python Dictionaries and Sum Values for Common Keys?

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}
Nach dem Login kopieren

Das Ziel besteht darin, diese Wörterbücher so zusammenzuführen, dass das Ergebnis ist:

{'a': 1, 'b': 5, 'c': 7, 'd': 5}
Nach dem Login kopieren

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})
Nach dem Login kopieren

Um die Wörterbücher zusammenzuführen, fügen wir einfach die Counter-Objekte hinzu:

merged_dict = A + B
Nach dem Login kopieren

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)]
Nach dem Login kopieren

Konvertieren es zu einem regulären Wörterbuch ist trivial:

merged_dict = dict(merged_dict)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage