Python ist eine beliebte Programmiersprache, die häufig für die Entwicklung verschiedener Anwendungen und Skripte verwendet wird. Eine der häufigsten Aufgaben in der Programmierung besteht darin, Duplikate aus einer Liste zu entfernen. Doppelte Elemente können die Verarbeitung der Daten verlangsamen und zu falschen Ergebnissen führen.
In Python gibt es mehrere Möglichkeiten, Duplikate aus einer Liste zu entfernen. Eine davon ist die Verwendung einer Funktion set(). Ein Set ist eine ungeordnete Sammlung einzigartiger Elemente. Wenn Sie eine Liste mit einer Funktion in eine Menge konvertieren set(). alle Duplikate werden automatisch gelöscht.
Wenn Sie die Reihenfolge der Elemente in der Liste beibehalten möchten, können Sie eine andere Methode verwenden, indem Sie den Listengenerator und die Bedingungen verwenden if. In diesem Fall können Sie eine neue Liste erstellen, die nur eindeutige Elemente aus der ursprünglichen Liste enthält.
Sie können beispielsweise den folgenden Code verwenden, um Duplikate aus einer Liste von Zahlen zu entfernen:
numbers = [1, 2, 3, 3, 4, 5, 5]
unique_numbers = [x for i, x in enumerate(numbers) if x not in numbers[:i]]
Als Ergebnis der Ausführung dieses Codes in einer Variablen unique_numbers es wird eine neue Liste enthalten, die nur eindeutige Elemente aus der ursprünglichen Liste enthält numbers.
Wie entferne ich Duplikate aus einer Liste in Python?
Wenn Sie mit Daten in Python arbeiten, müssen Sie häufig Duplikate aus der Liste entfernen. Duplikate können nicht nur unerwünscht sein, sondern auch Probleme bei der Datenverarbeitung verursachen. Es gibt mehrere Möglichkeiten, Duplikate aus einer Liste in Python zu entfernen.
1. Verwenden von Mengen:
my_list = [1, 2, 3, 3, 4, 4, 5]my_list = list(set(my_list))
2. Verwenden der Methode list.name (im vorliegenden Fall sorted):
my_list = [1, 2, 3, 3, 4, 4, 5]my_list = list(sorted(set(my_list)))
3. Verwenden des Listengenerators:
my_list = [1, 2, 3, 3, 4, 4, 5]my_list = list(dict.fromkeys(my_list))
4. Verwenden der Methode remove (nur anwendbar, wenn die Reihenfolge der Elemente wichtig ist):
my_list = [1, 2, 3, 3, 4, 4, 5]new_list = [][new_list.append(i) for i in my_list if i not in new_list]
5. Verwenden der Methode filterfalse aus der Bibliothek itertools (für Python 3.7 und höher):
from itertools import filterfalsemy_list = [1, 2, 3, 3, 4, 4, 5]my_list = list(filterfalse(lambda x: my_list.count(x) > 1, my_list))
Wählen Sie die Methode zum Entfernen von Duplikaten aus einer Liste in Python aus, die für Ihre Aufgabe am besten geeignet ist und Ihnen das gewünschte Ergebnis ermöglicht.
Welche Methoden können verwendet werden, um Duplikate in Python zu entfernen?
In Python gibt es mehrere Möglichkeiten, Duplikate aus einer Liste zu entfernen:
-
Verwenden Sie eine Menge. Sie können eine Liste mit der Funktion set() in eine Menge konvertieren, wodurch alle Duplikate automatisch gelöscht werden:
my_list = [1, 2, 3, 2, 1]unique_list = list(set(my_list))print(unique_list) # [1, 2, 3]
my_list = [1, 2, 3, 2, 1]unique_list = [][unique_list.append(x) for x in my_list if x not in unique_list]print(unique_list) # [1, 2, 3]
my_list = [1, 2, 3, 2, 1]for x in my_list:while my_list.count(x) > 1:my_list.remove(x)print(my_list) # [1, 2, 3]
my_list = [1, 2, 3, 2, 1]unique_list = list(filter(lambda x: my_list.count(x) == 1, my_list))print(unique_list) # [3]
Die Auswahl der Methode hängt von der jeweiligen Situation und den Leistungsanforderungen ab. Beachten Sie, dass die Verwendung von Menge und Listeneinschluss die Reihenfolge der Elemente in der Liste ändern kann, im Gegensatz zur remove() -Methode und der filter() -Funktion.
Methode 1: Verwenden der integrierten Set-Funktion zum Entfernen von Duplikaten
Hier ist ein Beispielcode, der die Verwendung der set-Funktion zum Entfernen von Duplikaten veranschaulicht:
my_list = [1, 2, 3, 3, 4, 5, 5, 6]my_list = list(set(my_list))print(my_list)
In diesem Beispiel erstellen wir eine Liste my_list, die mehrere Duplikate enthält. Dann konvertieren wir es in eine Menge, indem wir die set-Funktion verwenden, um die Duplikate zu entfernen. Schließlich konvertieren wir die Menge mithilfe der List-Funktion zurück in eine Liste und geben die resultierende Liste ohne Duplikate aus.
Das Ergebnis der Ausführung dieses Codes lautet wie folgt:
[1, 2, 3, 4, 5, 6]
Wie Sie sehen können, wurden alle Duplikate erfolgreich gelöscht, und nur eindeutige Elemente wurden in der endgültigen Liste angezeigt.
Methode 2: Verwenden einer for-Schleife zum Entfernen von Duplikaten
Hier ist ein Beispielcode:
# Ursprüngliche Liste my_list = [12324514678975321] # Erstellen Sie eine neue Liste new_list = [] # Gehen Sie durch die Elemente der ursprünglichen Liste for i in my_list: # Überprüfen Sie, ob ein solches Element bereits in der neuen Liste vorhanden ist if i not in new_list: # Wenn nicht, fügen Sie ein Element zur neuen Liste hinzu new_list.append(i) # Geben Sie eine neue Liste ohne Duplikate aus print(new_list)
Als Ergebnis der Ausführung dieses Codes erhalten wir eine neue Liste [123456789] , in dem alle Duplikate aus der ursprünglichen Liste entfernt wurden.
Methode 3: Verwenden der Pandas-Bibliothek zum Entfernen von Duplikaten
Die Pandas-Bibliothek bietet leistungsstarke Tools zum Analysieren von Daten in Python, einschließlich der Möglichkeit, Duplikate aus einer Liste zu entfernen. Konvertieren Sie dazu die Liste in ein Series-Objekt und wenden Sie dann die drop_duplicates() -Methode an.
Hier ist ein Beispielcode, der die Verwendung der Pandas-Bibliothek zum Entfernen von Duplikaten aus einer Liste veranschaulicht:
import pandas as pd
# Quellliste mit Duplikaten
my_list = [1, 2, 3, 1, 2, 3, 4, 5]
# Konvertieren einer Liste in ein Series-Objekt
print(unique_list.tolist()) # [1, 2, 3, 4, 5]
In diesem Beispiel importieren wir zuerst die Pandas-Bibliothek unter dem Alias pd. Dann erstellen wir die ursprüngliche my_list mit Duplikaten. Als nächstes konvertieren wir es mithilfe der pd-Funktion in ein Series-Objekt.Series(). Danach wenden wir die drop_duplicates() -Methode auf das Series-Objekt an, um die Duplikate zu entfernen. Das Ergebnis wird in der Variablen unique_list gespeichert, und wir geben es dann mit der tolist() -Methode zurück in eine Liste aus.
Auf diese Weise können Sie mit der Pandas-Bibliothek Duplikate leicht aus einer Liste entfernen und nur eindeutige Werte erhalten.