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

Direkt von der 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 Verwendung von 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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: