Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Wörterbücher mit passenden Schlüsseln effizient zu Tupeln von Werten zusammenführen?

Wie kann ich Python-Wörterbücher mit passenden Schlüsseln effizient zu Tupeln von Werten zusammenführen?

Linda Hamilton
Freigeben: 2024-12-22 14:25:17
Original
952 Leute haben es durchsucht

How Can I Efficiently Merge Python Dictionaries with Matching Keys into Tuples of Values?

Wörterbücher mit passenden Schlüsseln zusammenführen: Ein Tutorial

In Python kann das Zusammenführen von Wörterbüchern durch Kombinieren von Werten, die mit passenden Schlüsseln verknüpft sind, eine häufige Aufgabe sein. Lassen Sie uns eine Methode erkunden, um dieses Ziel effizient zu erreichen.

Problemstellung

Gegeben sind mehrere Wörterbücher mit Schlüssel-Wert-Paaren, wie zum Beispiel:

d1 = {key1: x1, key2: y1}
d2 = {key1: x2, key2: y2}
Nach dem Login kopieren

Das Ziel besteht darin, ein neues Wörterbuch zu erstellen, in dem jeder Schlüssel ein Tupel der entsprechenden Werte aus den Eingabewörterbüchern enthält. Das gewünschte Ergebnis wäre beispielsweise:

d = {key1: (x1, x2), key2: (y1, y2)}
Nach dem Login kopieren

Lösung: Verwendung von defaultdict

Ein effizienter Ansatz zum Zusammenführen von Wörterbüchern beim Sammeln von Werten aus übereinstimmenden Schlüsseln besteht darin, die zu nutzen defaultdict-Klasse aus dem Collections-Modul. Hier ist eine Schritt-für-Schritt-Demonstration:

  1. Definieren Sie ein defaultdict-Objekt, das automatisch Listen für fehlende Schlüssel erstellt.
  2. Iterieren Sie die Eingabewörterbücher.
  3. Für Jedes Wörterbuch hängt für jedes Schlüssel-Wert-Paar den Wert an die Liste an, die dem Schlüssel im Standarddikt zugeordnet ist.
  4. Das resultierende Standarddikt hat Schlüssel, die die Originalschlüssel aus allen Eingabewörterbüchern darstellen, und Werte als Listen mit den entsprechenden Werten.

Code-Implementierung

from collections import defaultdict

d1 = {1: 2, 3: 4}
d2 = {1: 6, 3: 7}

dd = defaultdict(list)

for d in (d1, d2):
    for key, value in d.items():
        dd[key].append(value)

print(dd)  # defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
Nach dem Login kopieren

Durch Befolgen dieser Schritte, Sie können Wörterbücher mit passenden Schlüsseln effektiv zusammenführen und die zugehörigen Werte in einem neuen Wörterbuch kombinieren.

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Wörterbücher mit passenden Schlüsseln effizient zu Tupeln von Werten 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