Heim > Backend-Entwicklung > Python-Tutorial > Wie entferne ich Duplikate effizient aus einer Python-Liste und behalte gleichzeitig die Reihenfolge bei?

Wie entferne ich Duplikate effizient aus einer Python-Liste und behalte gleichzeitig die Reihenfolge bei?

DDD
Freigeben: 2024-12-20 12:42:19
Original
538 Leute haben es durchsucht

How to Efficiently Remove Duplicates from a Python List While Maintaining Order?

Duplikate in Listen entfernen

In Python ist es eine häufige Aufgabe, in einer Liste nach Duplikaten zu suchen und eine neue Liste ohne diese zurückzugeben. Es gibt mehrere Ansätze, um dies zu erreichen.

Verwenden von Sets

Sets sind ungeordnete Sammlungen unterschiedlicher Objekte. Sie bieten eine effiziente Möglichkeit, Duplikate zu entfernen. Um einen Satz aus einer Liste zu erstellen, übergeben Sie ihn einfach an die Funktion set(). Um es wieder in eine Liste umzuwandeln, verwenden Sie die Funktion list(). Diese Methode bewahrt jedoch nicht die ursprüngliche Reihenfolge der Elemente.

t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8]
list(set(t))  # [1, 2, 3, 5, 6, 7, 8]
Nach dem Login kopieren

Aufrechterhaltung der Reihenfolge

Wenn die Beibehaltung der ursprünglichen Reihenfolge von entscheidender Bedeutung ist, werden die Sammlungen.OrderedDict Modul genutzt werden kann. OrderedDict behält die Einfügereihenfolge der Elemente bei. Konvertieren Sie die Liste in ein OrderedDict und dann zurück in eine Liste, um die Reihenfolge beizubehalten.

from collections import OrderedDict
list(OrderedDict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]
Nach dem Login kopieren

Wörterbücher in Python 3.7 verwenden

In Python 3.7 und höher reguläre Wörterbücher Behalten Sie auch die Einfügungsreihenfolge bei. Daher können Sie den folgenden Ansatz verwenden:

list(dict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]
Nach dem Login kopieren

Überlegungen

Beachten Sie, dass alle diese Methoden erfordern, dass die Elemente in der Liste hashbar (d. h. unveränderlich) sind. . Wenn die Elemente nicht hashbar sind (z. B. Listen), ist ein langsamerer Ansatz mit Vergleichen in verschachtelten Schleifen erforderlich.

Das obige ist der detaillierte Inhalt vonWie entferne ich Duplikate effizient aus einer Python-Liste und behalte gleichzeitig die Reihenfolge bei?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage