So entfernen Sie Duplikate aus einer Liste in Python
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 in Python.
Methode 1) Entfernen Sie Duplikate mit „Set“ aus der Liste
Um die Duplikate aus einer Liste zu entfernen, können Sie die integrierte Funktion nutzen set()
. Die Besonderheit der set()-Methode besteht darin, dass sie unterschiedliche Elemente zurückgibt.
Wir haben eine Liste: [1,1,2,3,2,2,4,5,6,2,1]. Die Liste enthält viele Duplikate, die wir entfernen müssen, um nur die unterschiedlichen Elemente wiederherzustellen. Die Liste wird dem gegeben set()
eingebaute Funktion. Later Die endgültige Liste wird angezeigt mit dem list()
integrierte Funktion, wie im Beispiel unten gezeigt.
Die Ausgabe, die wir erhalten, sind eindeutige Elemente, bei denen alle doppelten Elemente entfernt werden.
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 einem bestimmten zu entfernen list
können Sie eine leere temporäre Liste verwenden. Dazu müssen Sie zunächst die Liste mit Duplikaten durchgehen und die eindeutigen Elemente zur 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
Durch Importieren können wir Duplikate aus der angegebenen Liste entfernen OrderedDict
aus Sammlungen. Es ist ab Python2.7 verfügbar. OrderedDict kümmert sich darum, Ihnen die einzelnen Elemente in der Reihenfolge zurückzugeben, in der der Schlüssel vorhanden ist.
Lassen Sie uns eine Liste verwenden und verwenden fromkeys()
Methode, die in OrderedDict verfügbar ist, um die eindeutigen Elemente aus der Liste abzurufen.
Gebrauch machen von OrderedDict.fromkey()
-Methode müssen Sie OrderedDict aus Sammlungen importieren, wie unten gezeigt:
from collections import OrderedDict
Hier ist ein Beispiel zum Entfernen von Duplikaten mit OrderedDict.fromkeys()
Methode.
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']
Ab Python Ab 3.5+ können wir die regulären dict.fromkeys()
um die verschiedenen Elemente aus der Liste zu erhalten. Der dict.fromkeys()
Methoden geben eindeutige Schlüssel zurück und helfen dabei, doppelte Werte zu entfernen.
Ein Beispiel, das die Funktionsweise zeigt dict.fromkeys()
auf einer Liste, um die einzigartigen Elemente anzugeben, lautet wie folgt:
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 richtigen for-Schleife, werden wir die Liste der Elemente durchgehen, um Duplikate zu entfernen.
Initialisieren Sie zuerst das Array, um es zu leeren, d. h myFinallist = []
.Fügen Sie innerhalb der for-Schleife eine Überprüfung hinzu, ob die Elemente in der Liste im Array vorhanden sind myFinallist
. Wenn die Elemente nicht vorhanden sind, fügen Sie das Element mithilfe von zum Array myFinallist hinzu append()
Methode.
Wenn also ein doppeltes Element gefunden wird, ist es bereits im Array myFinallist vorhanden und wird nicht eingefügt. Lassen Sie uns das nun im folgenden Beispiel überprüfen:
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-unique()-Methode.
Das Verfahren unique()
aus dem Numpy-Modul kann uns dabei helfen, Duplikate aus der angegebenen Liste zu entfernen.
Um mit Numpy zu arbeiten, müssen Sie zunächst das Numpy-Modul importieren:
Schritt 1) Numpy-Modul importieren
import numpy as np
Schritt 2) Verwenden Sie Ihre Liste mit Duplikaten innerhalb der eindeutigen Methode wie unten gezeigt. Die Ausgabe wird mit zurück in ein Listenformat konvertiert tolist()
Methode.
myFinalList = np.unique(my_list).tolist()
Schritt 3) Drucken Sie abschließend die Liste wie unten gezeigt aus:
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.
Um mit dem Pandas-Modul zu arbeiten, müssen Sie die folgenden Schritte ausführen:
Schritt 1) Pandas-Modul importieren
import pandas as pd
Schritt 2) Verwenden Sie Ihre Liste mit darin enthaltenen Duplikaten unique()
Methode wie unten gezeigt:
myFinalList = pd.unique(my_list).tolist()
Schritt 3) Drucken Sie die Liste wie unten gezeigt aus:
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 die Kombination aus Listenverständnis und Aufzählung, um die doppelten Elemente zu entfernen. Enumerate gibt ein Objekt mit einem Zähler für jedes Element in der Liste zurück. Zum Beispiel (0,1), (1,2) usw. Hier ist der erste Wert der Index und der zweite Wert das Listenelement. W
Für jedes Element wird geprüft, ob es in der Liste vorhanden ist. Ist dies der Fall, 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]
Zusammenfassung
- Um die Duplikate aus einer Liste zu entfernen, können Sie die integrierte Funktion nutzen
set()
. Die Spezialität derset()
Die Methode besteht darin, dass sie unterschiedliche Elemente zurückgibt. - Sie können Duplikate durch Importieren aus der angegebenen Liste entfernen
OrderedDictfrom
Sammlungen. Es ist ab Python2.7 verfügbar.OrderedDictdict
kümmert sich darum, Ihnen die einzelnen Elemente in der Reihenfolge zurückzugeben, in der der Schlüssel vorhanden ist. - Sie können eine for-Schleife verwenden, mit der wir die Liste der Elemente durchlaufen, um Duplikate zu entfernen.
- Das Verfahren
unique()
aus dem Numpy-Modul kann uns dabei helfen, Duplikate aus der angegebenen Liste zu entfernen. - Das Pandas-Modul verfügt über eine
unique()
Methode, die uns die eindeutigen Elemente aus der angegebenen Liste liefert. - Die Kombination aus Listenverständnis und Aufzählung wird verwendet, um die doppelten Elemente aus der Liste zu entfernen. Enumerate gibt ein Objekt mit einem Zähler für jedes Element in der Liste zurück.