Heim > Backend-Entwicklung > Python-Tutorial > Wie kombiniere ich Wörterbücher in Python mit überlappenden Schlüsseln effizient?

Wie kombiniere ich Wörterbücher in Python mit überlappenden Schlüsseln effizient?

DDD
Freigeben: 2024-12-09 10:43:06
Original
1007 Leute haben es durchsucht

How to Efficiently Combine Dictionaries in Python with Overlapping Keys?

Wie man Wörterbücher mit überlappenden Schlüsseln pythonisch kombiniert

Das Kombinieren von Wörterbüchern mit überlappenden Schlüsseln kommt in der Programmierung häufig vor. Angenommen, wir haben zwei Wörterbücher:

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

Wir wollen ein neues Wörterbuch mit den folgenden Eigenschaften erstellen:

  • Für Schlüssel, die in beiden Wörterbüchern vorhanden sind, addieren Sie ihre entsprechenden Werte.
  • Für Schlüssel, die nur in einem Wörterbuch vorhanden sind, behalten Sie ihre ursprünglichen Werte bei.

Pythonic-Lösung: Verwenden Collections.Counter

Ein eleganter und pythonischer Ansatz verwendet die Klasse „collections.Counter“, eine Unterklasse von dict, die Zähl- und Summationsaufgaben vereinfacht. So verwenden Sie es:

from collections import Counter

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

result = A + B
Nach dem Login kopieren

A B führt eine Zähleradditionsoperation aus, die zu einem neuen Zählerobjekt führt:

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

Dieser neue Zähler enthält die gewünschten kombinierten Werte. Da Zähler von Diktaten abgeleitet werden, können Sie mit ihnen wie regulären Wörterbüchern interagieren, einschließlich der Iteration über Schlüssel und Werte.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich Wörterbücher in Python mit überlappenden Schlüsseln effizient?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage