Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Python-Wörterbücher mit doppelten Schlüsseln in Wertelisten zusammenführen?

Wie kann ich Python-Wörterbücher mit doppelten Schlüsseln in Wertelisten zusammenführen?

DDD
DDDOriginal
2024-12-10 07:16:16503Durchsuche

How Can I Merge Python Dictionaries with Duplicate Keys into Lists of Values?

Wörterbücher mit doppelten Schlüsseln in Python zusammenführen

In Python kann der Umgang mit mehreren Wörterbüchern eine Herausforderung sein, insbesondere wenn deren Zusammenführung erforderlich wird. Ein häufiges Problem tritt auf, wenn Wörterbücher doppelte Schlüssel gemeinsam nutzen und das Ziel darin besteht, alle mit diesen Schlüsseln verbundenen Werte in einer einzigen Liste zu sammeln.

Lösung: defaultdict

Um dies effizient zu handhaben, ist ein leistungsstarkes Python erforderlich Es kommt ein Tool namens defaultdict aus dem Collections-Modul ins Spiel. Es ermöglicht die Erstellung eines Standardwerts (in diesem Fall einer leeren Liste) für jeden Schlüssel, der nicht im Wörterbuch vorhanden ist.

Betrachten Sie das folgende Beispiel:

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

Zum Zusammenführen In diesen Wörterbüchern, die Werte aus übereinstimmenden Schlüsseln sammeln, können wir defaultdict wie folgt verwenden:

from collections import defaultdict

dd = defaultdict(list)

for d in (d1, d2): # loop through all input dictionaries
    for key, value in d.items():
        dd[key].append(value)
    
print(dd) # result: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})

In diesem Code:

  • Wir erstellen ein leeres Defaultdict mit defaultdict(list).
  • Wir durchlaufen jedes Eingabewörterbuch d.
  • Für jedes Schlüssel-Wert-Paar in jedem Wörterbuch, wir hängen den Wert an die Liste an, die dem Schlüssel in unserem Standarddikt zugeordnet ist.
  • Das Ergebnis ist ein Standarddikt, in dem Schlüssel die zusammengeführten Schlüssel aus allen Wörterbüchern darstellen. und die Werte sind Listen, die alle entsprechenden Werte enthalten.

Diese Lösung sammelt effizient alle mit übereinstimmenden Schlüsseln verbundenen Werte aus mehreren Wörterbüchern und bietet so eine saubere und vielseitige Möglichkeit, mit doppelten Schlüsseln umzugehen.

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Wörterbücher mit doppelten Schlüsseln in Wertelisten zusammenführen?. 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