Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich doppelte Elemente effizient aus einer Python-Liste finden und entfernen?

Wie kann ich doppelte Elemente effizient aus einer Python-Liste finden und entfernen?

Barbara Streisand
Freigeben: 2024-12-17 13:11:25
Original
481 Leute haben es durchsucht

How Can I Efficiently Find and Remove Duplicate Elements from a Python List?

Duplikate in Listen finden

In Python kann das Auffinden von Duplikaten in einer Liste je nach den spezifischen Anforderungen auf verschiedene Arten erreicht werden .

Verwenden von Sets

Sets in Python sind ungeordnete Sammlungen, die doppelte Elemente automatisch entfernen. Um Duplikate aus einer Liste zu entfernen und eine neue Liste mit der ursprünglichen Reihenfolge zu erstellen, verwenden Sie einfach den Ausdruck set(a).

Liste der Duplikate abrufen

Wenn Sie Wenn Sie eine Liste der doppelten Elemente benötigen, können Sie ein Wörterbuch verwenden, um das Vorkommen jedes Elements in der Originalliste zu zählen. Elemente mit einer Anzahl größer als eins gelten als Duplikate. Der folgende Code demonstriert diesen Ansatz:

a = [1,2,3,2,1,5,6,5,5,5]

import collections
print([item for item, count in collections.Counter(a).items() if count > 1])

# Output: [1, 2, 5]
Nach dem Login kopieren

Verwenden von „Set Intersection“

Eine andere Methode, Duplikate zu finden, besteht darin, mithilfe von „set“ einen Satz eindeutiger Elemente aus der ursprünglichen Liste zu erstellen (A). Dann können Sie die Duplikate finden, indem Sie diese Menge mit der Originalliste überschneiden.

Beispiel mit nicht hashbaren Elementen

Wenn die Elemente in Ihrer Liste nicht hashbar sind ( B. Listen oder Wörterbücher), können Sie einen Brute-Force-Ansatz verwenden, indem Sie alle Elementpaare durchlaufen und vergleichen Gleichheit.

Beispielcode:

a = [[1], [2], [3], [1], [5], [3]]

no_dupes = [x for n, x in enumerate(a) if x not in a[:n]]
print(no_dupes)  # [[1], [2], [3], [5]]

dupes = [x for n, x in enumerate(a) if x in a[:n]]
print(dupes)  # [[1], [3]]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Elemente effizient aus einer Python-Liste finden und entfernen?. 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