Wie entferne ich doppelte Wörterbücher effizient aus einer Python-Liste?

Linda Hamilton
Freigeben: 2024-11-01 11:29:02
Original
153 Leute haben es durchsucht

How to Efficiently Remove Duplicate Dictionaries from a Python List?

Einzigartige Wörterbücher in Python-Listen

Listen von Wörterbüchern sind in Python-Anwendungen üblich. Allerdings kann die Verwaltung doppelter Wörterbücher eine Herausforderung sein. In diesem Artikel wird erläutert, wie Sie Duplikate effizient entfernen und eine Liste eindeutiger Wörterbücher erhalten.

Betrachten Sie eine Liste von Wörterbüchern:

<code class="python">L = [
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30}
]</code>
Nach dem Login kopieren

Ansatz für das Problem

Um eine Liste von Wörterbüchern zu deduplizieren, besteht ein einfacher Ansatz darin, die Liste zu durchlaufen und jedes Wörterbuch mit den anderen zu vergleichen. Allerdings kann dieser Prozess bei großen Listen rechenintensiv sein.

Verwendung eines temporären Wörterbuchs

Eine effizientere Lösung nutzt ein temporäres Wörterbuch, um die Deduplizierung durchzuführen. Der Schlüssel des Wörterbuchs wird auf das ID-Feld jedes Wörterbuchs und der Wert auf das Wörterbuch selbst festgelegt. Dieser Vorgang filtert Duplikate effektiv heraus, da jede eindeutige ID nur einem Wörterbucheintrag entspricht.

Eindeutige Wörterbücher abrufen

Sobald das temporäre Wörterbuch gefüllt ist, werden die Werte (die stellen die eindeutigen Wörterbücher dar) können mit der Methode „values()“ abgerufen werden.

Python-Implementierung

Python 2.7:

<code class="python">{v['id']:v for v in L}.values()</code>
Nach dem Login kopieren

Python 3:

<code class="python">list({v['id']:v for v in L}.values())</code>
Nach dem Login kopieren

Python 2.5/2.6:

<code class="python">dict((v['id'],v) for v in L).values()</code>
Nach dem Login kopieren

Diese prägnanten Lösungen führen zu einer Liste einzigartiger Wörterbücher:

<code class="python">[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30}
]</code>
Nach dem Login kopieren

Dieser Ansatz entfernt Duplikate effizient, indem ein temporäres Wörterbuch genutzt wird, um eindeutige Wörterbuchwerte zu identifizieren und zu extrahieren.

Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Wörterbücher effizient aus einer Python-Liste?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!