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 listkö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 der set() 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.