Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python entfernt Duplikate aus einer Liste


Eine Liste ist ein Container, der verschiedene Python-Objekte enthält, die Ganzzahlen, Wörter, Werte usw. sein können. Sie ist das Äquivalent zu einem Array in anderen Programmiersprachen.

Hier werden wir also verschiedene Möglichkeiten durchgehen, wie wir Duplikate aus einer bestimmten Liste entfernen können.

In diesem Tutorial lernen Sie:

Entferne Duplikate aus der Liste mit Set

Um die Duplikate aus einer Liste zu entfernen, können Sie die eingebaute Funktion set() verwenden. Das Besondere an der Methode set() ist, 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 und nur die unterschiedlichen Elemente zurückerhalten müssen. Die Liste wird an die eingebaute Funktion set() übergeben. Später wird die endgültige Liste mithilfe der integrierten Funktion list() angezeigt, wie im Beispiel unten gezeigt.

Die Ausgabe, die wir erhalten, sind eindeutige Elemente, bei denen alle doppelten Elemente eliminiert werden.

my_list = [1,1,2,3,2,2,4,5,6,2,1]
my_final_list = set(my_list)
print(list(my_final_list))

Ausgabe:

[1, 2, 3, 4, 5, 6]

Duplikate mithilfe der temporären Liste aus einer Liste entfernen

Um Duplikate aus einer bestimmten Liste zu entfernen, können Sie eine leere temporäre Liste verwenden. Dazu müssen Sie zuerst die Liste mit Duplikaten durchlaufen und die eindeutigen Elemente zur temporären Liste hinzufügen. Später wird die temporäre Liste der Hauptliste zugeordnet.

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)

Ausgabe:

List Before  [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
List After removing duplicates  [1, 2, 3, 4, 5, 6]

Duplikate mit Dict aus der Liste entfernen

Wir können Duplikate aus der angegebenen Liste entfernen, indem wir OrderedDict aus Sammlungen importieren. Es ist ab Python 2.7 verfügbar. OrderedDict kümmert sich darum, Ihnen die unterschiedlichen Elemente in einer Reihenfolge zurückzugeben, in der der Schlüssel vorhanden ist.

Lassen Sie uns eine Liste verwenden und die in OrderedDict verfügbare Methode fromkeys() verwenden, um die eindeutigen Elemente aus der Liste zu erhalten.

Um die Methode OrderedDict.fromkey() zu verwenden, müssen Sie OrderedDict aus Sammlungen importieren, wie unten gezeigt:

from collections import OrderedDict

Hier ist ein Beispiel zum Entfernen von Duplikaten mit der Methode OrderedDict.fromkeys().

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))

Ausgabe:

['a', 'x', 'y', 'b', 'c']

Ab Python 3.5+ können wir das reguläre dict.fromkeys() verwenden, um die unterschiedlichen Elemente aus der Liste zu erhalten. Die dict.fromkeys()-Methode gibt eindeutige Schlüssel zurück und hilft dabei, doppelte Werte zu beseitigen.

Ein Beispiel, das die Arbeit von dict.fromkeys() auf einer Liste zeigt, um die eindeutigen Elemente zu geben, ist wie folgt:

my_list = ['a','x','a','y','a','b','b','c']
my_final_list = dict.fromkeys(my_list)
print(list(my_final_list))

Ausgabe:

['a', 'x', 'y', 'b', 'c']

Duplikate aus einer Liste mit for-Schleife entfernen

Mit der for-Schleife durchlaufen wir die Liste der Elemente, um Duplikate zu entfernen.

Initialisieren Sie zuerst das Array leer, d. h. myFinallist =[]. Fügen Sie innerhalb der for-Schleife hinzu, prüfen Sie, ob die Elemente in der Liste im Array myFinallist vorhanden sind. Wenn die Elemente nicht vorhanden sind, fügen Sie das Element mit append() zum Array myFinallist hinzu. Methode.

Wenn also das doppelte Element gefunden wird, ist es bereits im Array myFinallist vorhanden und wird nicht eingefügt. Lassen Sie uns nun dasselbe im folgenden Beispiel überprüfen:

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))

Ausgabe:

[1, 2, 3, 4, 5, 6]

Entfernen Sie Duplikate aus der Liste mit Listenverständnis

List Comprehensions sind Python-Funktionen, die zum Erstellen neuer Sequenzen (z. B. 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 wartungsfreundlicher zu machen.

Lassen Sie uns das Listenverständnis nutzen, um Duplikate aus der angegebenen Liste zu entfernen.

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)

Ausgabe:

[1, 2, 3, 4, 5, 6]

Entfernen Sie Duplikate aus der Liste mit der Methode Numpy unique().

Die Methode unique() aus dem Numpy-Modul kann uns helfen, Duplikate aus der angegebenen Liste zu entfernen.

Um mit Numpy zu arbeiten, müssen Sie zuerst das Numpy-Modul importieren, indem Sie die folgenden Schritte ausführen:

Schritt 1 ) Numpy-Modul importieren

import numpy as np

Schritt 2) Verwenden Sie Ihre Liste mit Duplikaten innerhalb einer einzigartigen Methode, wie unten gezeigt. Die Ausgabe wird mit der Methode tolist() zurück in ein Listenformat konvertiert.

myFinalList = np.unique(my_list).tolist()

Schritt 3) Drucken Sie schließlich 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)

Ausgabe:

[1, 2, 3, 4, 5, 6]

Duplikate mit Pandas-Methoden aus der Liste entfernen

Das Pandas-Modul hat 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) ​​Importieren Pandas-Modul

import pandas as pd

Schritt 2) Verwenden Sie Ihre Liste mit Duplikaten innerhalb der Methode unique() 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)

Ausgabe:

[1, 2, 3, 4, 5, 6]

Duplikate mit enumerate() und List Comprehension entfernen

Hier die Kombination aus List Comprehension und Enumerate, 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

Jedes Element wird überprüft, ob es in der Liste vorhanden ist, und wenn ja, wird es aus der Liste entfernt.

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))

Ausgabe:

[1, 2, 3, 4, 5, 6]

Zusammenfassung


Python

  1. Python-Datentypen
  2. Python-Operatoren
  3. Python-pass-Anweisung
  4. Python-Funktionsargumente
  5. Python range() Funktion:Float, List, For-Schleife Beispiele
  6. Python List Comprehension, Anhängen, Sortieren, Länge [BEISPIELE]
  7. Python-Durchschnitt:So finden Sie den DURCHSCHNITT einer Liste in Python
  8. Python List count() mit BEISPIELE
  9. Element aus einer Python-LIST entfernen [clear, pop, remove, del]
  10. Python List index() mit Beispiel