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.
Angesichts mehrerer Wörterbücher wie:
d1 = {key1: x1, key2: y1} d2 = {key1: x2, key2: y2}
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)}
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)
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!