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]
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]]
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!