Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mehrere Wörterbücher mit möglicherweise fehlenden Schlüsseln effizient zusammenführen?

Wie kann ich mehrere Wörterbücher mit möglicherweise fehlenden Schlüsseln effizient zusammenführen?

Patricia Arquette
Freigeben: 2024-12-16 19:56:11
Original
143 Leute haben es durchsucht

How Can I Efficiently Merge Multiple Dictionaries with Potentially Missing Keys?

Effiziente Aggregation von Daten aus mehreren Wörterbüchern

Bei der Arbeit mit mehreren Wörterbüchern kann es erforderlich sein, deren Daten zusammenzuführen und Werte für übereinstimmende Schlüssel zu sammeln in ein neues Wörterbuch. Diese Aufgabe stellt eine Herausforderung dar, wenn die Wörterbücher möglicherweise Schlüssel enthalten, die in anderen fehlen.

Um diese Herausforderung effektiv zu bewältigen, können wir das Standarddikt aus dem Sammlungsmodul verwenden. So funktioniert es:

1

2

3

4

5

6

7

8

9

10

from collections import defaultdict

 

d1 = {1: 2, 3: 4}

d2 = {1: 6, 3: 7}

 

dd = defaultdict(list)

 

for d in (d1, d2): # Include all dictionaries here

    for key, value in d.items():

        dd[key].append(value)

Nach dem Login kopieren

Dieser Code durchläuft jedes Wörterbuch und fügt jedes Schlüssel-Wert-Paar zum Standarddikt hinzu. Das Standarddikt initialisiert fehlende Schlüssel automatisch mit einer leeren Liste. Wenn also ein Schlüssel in einem Wörterbuch gefunden wird, aber nicht in den vorherigen, wird eine neue Liste seiner Werte erstellt.

Das in dd erhaltene Endergebnis ist ein Standarddikt, bei dem jeder Schlüssel einer Liste von Werten entspricht gesammelt aus allen Eingabewörterbüchern.

1

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

Nach dem Login kopieren

Diese Lösung gewährleistet eine effiziente und umfassende Datenaggregation aus mehreren Wörterbüchern und behandelt sogar Fälle mit fehlenden Schlüsseln.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Wörterbücher mit möglicherweise fehlenden Schlüsseln effizient 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