Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Wörterbücher mit doppelten Schlüsseln effizient zusammenführen und ihre Werte erfassen?

Wie kann ich Wörterbücher mit doppelten Schlüsseln effizient zusammenführen und ihre Werte erfassen?

Patricia Arquette
Freigeben: 2024-12-24 15:29:12
Original
684 Leute haben es durchsucht

How Can I Efficiently Merge Dictionaries with Duplicate Keys and Collect Their Values?

Wörterbücher für doppelte Schlüssel zusammenführen

Wenn Sie mit mehreren Wörterbüchern arbeiten, die überlappende Schlüssel enthalten, ist es notwendig, diese effizient zusammenzuführen und gleichzeitig die mit diesen Schlüsseln verbundenen Werte zu sammeln. In diesem Artikel wird eine Lösung zum Kombinieren und Sammeln von Werten aus übereinstimmenden Schlüsseln in einer Sammlung von Wörterbüchern untersucht.

Problemstellung

Angesichts mehrerer Wörterbücher wie:

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

Das Ziel ist um ein zusammengeführtes Ergebnis als neues Wörterbuch zu erhalten, in dem jeder Schlüssel ein Tupel von Werten aus dem Original enthält Wörterbücher:

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

Lösung

Die Lösung nutzt „collections.defaultdict“, um ein Wörterbuch mit Standardwerten als veränderbare Listen zu erstellen. Dies ermöglicht die Akkumulation von Werten für jeden Schlüssel:

from collections import defaultdict

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

dd = defaultdict(list)

for d in (d1, d2): # Input dictionaries can be iterated over here
    for key, value in d.items():
        dd[key].append(value)
Nach dem Login kopieren

Das endgültige zusammengeführte Wörterbuch dd enthält jeden Schlüssel, der einer Liste von Werten aus den Eingabewörterbüchern zugeordnet ist.

Das obige ist der detaillierte Inhalt vonWie kann ich Wörterbücher mit doppelten Schlüsseln effizient zusammenführen und ihre Werte erfassen?. 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