Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich zwei Wörterbücher pythonisch kombinieren und Werte für gemeinsame Schlüssel summieren?

Wie kann ich zwei Wörterbücher pythonisch kombinieren und Werte für gemeinsame Schlüssel summieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-10 17:23:16236Durchsuche

How Can I Pythonically Combine Two Dictionaries, Summing Values for Common Keys?

Zwei Wörterbücher pythonisch kombinieren

Bei der Arbeit mit Wörterbüchern in Python müssen wir oft mehrere Wörterbücher zu einem einzigen zusammenführen. Eine häufige Anforderung in solchen Szenarien besteht darin, die Wörterbücher zu kombinieren und Werte für Schlüssel hinzuzufügen, die in beiden vorkommen.

Betrachten Sie beispielsweise die folgenden beiden Wörterbücher:

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}

Unser Ziel ist die Zusammenführung Diese Wörterbücher, um das folgende Ergebnis zu erhalten:

{'a': 1, 'b': 5, 'c': 7, 'd': 5}

Mit anderen Worten, wenn ein Schlüssel in beiden Wörterbüchern vorkommt, sollten ihre Werte summiert werden, während Schlüssel, die nur in einem Wörterbuch vorhanden sind, beibehalten werden sollten ihre ursprünglichen Werte.

Eine elegante Möglichkeit, dies in Python zu erreichen, ist die Nutzung der Counter-Klasse aus dem Collections-Modul:

from collections import Counter

A = Counter({'a': 1, 'b': 2, 'c': 3})
B = Counter({'b': 3, 'c': 4, 'd': 5})
result = A + B

Die Counter-Klasse erweitert die Funktionalität eines Wörterbuchs, indem sie eine bereitstellt Einfache Möglichkeit, die Anzahl des Vorkommens (Anzahl) von Werten zu verfolgen. In unserem Fall erstellen wir Counter-Objekte für beide Wörterbücher und kombinieren sie dann mit dem Operator. Das Ergebnis ist ein neues Counter-Objekt, in dem die Anzahl der übereinstimmenden Schlüssel akkumuliert wird. Durch die Rückkonvertierung des Counter-Objekts in ein Wörterbuch erhalten wir das gewünschte kombinierte Wörterbuch.

Das obige ist der detaillierte Inhalt vonWie kann ich zwei Wörterbücher pythonisch kombinieren und Werte für gemeinsame Schlüssel summieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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