So entfernen Sie Duplikate aus einer Liste in Python
โก Intelligente Zusammenfassung
Entfernen von Duplikaten aus einem Python Listen kรถnnen mit verschiedenen integrierten Methoden erstellt werden, darunter set(), dict.fromkeys(), Schleifen, List Comprehensions und Bibliotheksmethoden von NumPy und Pandas, wobei jeweils ein Gleichgewicht zwischen der Beibehaltung der Reihenfolge und der Geschwindigkeit angestrebt wird.

Python Duplikate aus einer Liste entfernen
Eine Liste ist ein Container, der verschiedene Python Objekte, die ganze Zahlen, Wรถrter, Werte usw. sein kรถnnen. Es entspricht einem Array in anderen Programmiersprachen.
Hier werden wir verschiedene Mรถglichkeiten durchgehen, wie wir Duplikate aus einer gegebenen Liste entfernen kรถnnen. Python.
Methode 1) Entfernen Sie Duplikate mit โSetโ aus der Liste
Um Duplikate aus einer Liste zu entfernen, kann man die eingebaute Funktion set() verwenden. Die Besonderheit der set()-Methode ist, dass sie eindeutige Elemente zurรผckgibt.
Wir haben die Liste [1,1,2,3,2,2,4,5,6,2,1]. Diese Liste enthรคlt viele Duplikate, die wir entfernen mรผssen, um nur die eindeutigen Elemente zu erhalten. Die Liste wird der eingebauten Funktion `set()` รผbergeben. Later Die endgรผltige Liste wird mithilfe der integrierten Funktion list() angezeigt.
Das Ergebnis sind eindeutige Elemente, wobei alle Duplikate entfernt wurden.
Beispiel
my_list = [1,1,2,3,2,2,4,5,6,2,1]
my_final_list = set(my_list)
print(list(my_final_list))
Ausgang:
[1, 2, 3, 4, 5, 6]
Methode 2) Verwenden der temporรคren Liste
Um Duplikate aus einer Liste zu entfernen, kann man eine leere temporรคre Liste verwenden. Dazu muss man zunรคchst die Liste mit den Duplikaten durchlaufen und die eindeutigen Elemente der temporรคren Liste hinzufรผgen. Later die temporรคre Liste wird der Hauptliste zugeordnet.
Beispiel
Hier ist ein funktionierendes Beispiel mit einer temporรคren Liste.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2] print("List Before ", my_list) temp_list = [] for i in my_list: if i not in temp_list: temp_list.append(i) my_list = temp_list print("List After removing duplicates ", my_list)
Ausgang:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
Methode 3) Verwenden von Dict
Duplikate lassen sich aus der gegebenen Liste entfernen, indem man `OrderedDict` aus dem Paket `collections` importiert. Dieses ist ab Python 2.7 verfรผgbar. `OrderedDict` sorgt dafรผr, dass die eindeutigen Elemente in der Reihenfolge zurรผckgegeben werden, in der der Schlรผssel vorkommt.
Wir verwenden eine Liste und nutzen die Methode fromkeys() aus OrderedDict, um die eindeutigen Elemente aus der Liste zu erhalten.
Um die Methode OrderedDict.fromkeys() nutzen zu kรถnnen, mรผssen Sie OrderedDict aus collections importieren, wie unten gezeigt:
from collections import OrderedDict
Hier ist ein Beispiel zum Entfernen von Duplikaten mithilfe der Methode OrderedDict.fromkeys().
Beispiel
from collections import OrderedDict my_list = ['a','x','a','y','a','b','b','c'] my_final_list = OrderedDict.fromkeys(my_list) print(list(my_final_list))
Ausgang:
['a', 'x', 'y', 'b', 'c']
Von Python Ab Version 3.5 kรถnnen wir die regulรคre Methode `dict.fromkeys()` verwenden, um die eindeutigen Elemente einer Liste zu erhalten. Die Methode `dict.fromkeys()` gibt eindeutige Schlรผssel zurรผck und hilft so, doppelte Werte zu entfernen.
Ein Beispiel, das die Funktionsweise von dict.fromkeys() auf einer Liste zur Ermittlung der eindeutigen Elemente veranschaulicht, ist folgendes:
Beispiel
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
Ausgang:
['a', 'x', 'y', 'b', 'c']
Methode 4) For-Schleife verwenden
Die Verwendung von for-Schleife, werden wir die Liste der Elemente durchgehen, um Duplikate zu entfernen.
Zuerst wird das Array leer initialisiert, also `myFinallist = []`. Innerhalb der for-Schleife wird geprรผft, ob die Elemente der Liste bereits im Array `myFinallist` vorhanden sind. Falls nicht, wird das Element mithilfe der `append()`-Methode hinzugefรผgt.
Wenn also ein doppeltes Element gefunden wird, ist es bereits im Array โmyFinallistโ vorhanden und wird nicht eingefรผgt. Betrachten wir nun das folgende Beispiel:
Beispiel
my_list = [1,2,2,3,1,4,5,1,2,6] myFinallist = [] for i in my_list: if i not in myFinallist: myFinallist.append(i) print(list(myFinallist))
Ausgang:
[1, 2, 3, 4, 5, 6]
Methode 5) Verwendung des Listenverstรคndnisses
Listenverstรคndnisse sind Python Funktionen, die zum Erstellen neuer Sequenzen (wie Listen, Wรถrterbรผcher usw.) unter Verwendung bereits erstellter Sequenzen verwendet werden. Dies hilft Ihnen, lรคngere Schleifen zu reduzieren und Ihren Code leichter lesbar und wartbar zu machen.
Nutzen wir das Listenverstรคndnis, um Duplikate aus der angegebenen Liste zu entfernen.
Beispiel
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [] [my_finallist.append(n) for n in my_list if n not in my_finallist] print(my_finallist)
Ausgang:
[1, 2, 3, 4, 5, 6]
Methode 6) Verwendung der NumPy-Methode unique()
Die Methode unique() aus dem NumPy-Modul kann uns dabei helfen, Duplikate aus der gegebenen Liste zu entfernen.
Um mit NumPy zu arbeiten, importieren Sie zuerst das NumPy-Modul:
Schritt 1) NumPy-Modul importieren
import numpy as np
Schritt 2) Verwenden Sie Ihre Liste mit Duplikaten innerhalb der Methode `unique()`. Die Ausgabe wird mithilfe der Methode `tolist()` wieder in eine Liste umgewandelt.
myFinalList = np.unique(my_list).tolist()
Schritt 3) Zum Schluss die Liste ausgeben:
print(myFinalList)
Der endgรผltige Code mit Ausgabe lautet wie folgt:
import numpy as np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList)
Ausgang:
[1, 2, 3, 4, 5, 6]
Methode 7) Verwendung von Pandas-Methoden
Das Pandas-Modul verfรผgt รผber eine unique()-Methode, die uns die eindeutigen Elemente aus der angegebenen Liste liefert.
So arbeiten Sie mit dem Pandas-Modul:
Schritt 1) Pandas-Modul importieren
import pandas as pd
Schritt 2) Verwenden Sie Ihre Liste mit Duplikaten innerhalb der unique()-Methode:
myFinalList = pd.unique(my_list).tolist()
Schritt 3) Liste ausdrucken:
print(myFinalList)
Der endgรผltige Code mit Ausgabe lautet wie folgt:
import pandas as pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList)
Ausgang:
[1, 2, 3, 4, 5, 6]
Methode 8) Verwendung von enumerate() und Listenverstรคndnis
Hier verwenden wir eine Kombination aus List Comprehension und `enumerate()`, um doppelte Elemente zu entfernen. `enumerate()` gibt ein Objekt mit einem Zรคhler fรผr jedes Element in der Liste zurรผck, z. B. (0,1), (1,2) usw. Der erste Wert ist der Index, der zweite das jeweilige Listenelement.
Es wird geprรผft, ob jedes Element in der Liste vorhanden ist; falls ja, wird es aus der Liste entfernt.
Beispiel
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]] print(list(my_finallist))
Ausgang:
[1, 2, 3, 4, 5, 6]
