Wie entferne ich Duplikate aus einer Liste, während ich die Reihenfolge beibehalte?

Es gibt mehrere Möglichkeiten, Duplikate in einer Liste zu entfernen, während die Reihenfolge erhalten bleibt. Eine Möglichkeit besteht darin, die Liste in einen Satz umzuwandeln und dann wieder in eine Liste umzuwandeln. Der Satz wird automatisch Duplikate entfernen, aber da Sätze ungeordnet sind, müsste man es wieder in eine Liste umwandeln. Hier ist ein Beispiel für diese Methode:

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

# Konvertieren Sie in einen Satz, um Duplikate zu entfernen
keine_duplikate_menge = set(original_liste)

# Konvertieren Sie zurück in eine Liste
keine_duplikate_liste = list(keine_duplikate_menge)

print(keine_duplikate_liste)
# Ausgabe: [1, 2, 3, 4, 5, 6]

Eine andere Möglichkeit besteht darin, eine Liste zu verwenden und zu überprüfen, ob ein Element bereits in der neuen Liste vorhanden ist, bevor es hinzugefügt wird. Hier ist ein Beispiel:

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

# Verwenden Sie eine Liste, um Elemente zu einer neuen Liste hinzuzufügen, wenn sie noch nicht hinzugefügt wurden
keine_duplikate_liste = []
for element in original_liste:
    if element not in keine_duplikate_liste:
        keine_duplikate_liste.append(element)

print(keine_duplikate_liste)
# Ausgabe: [1, 2, 3, 4, 5, 6]

Eine weitere Möglichkeit besteht darin, die collections.OrderedDict() zu verwenden und dann die Schlüssel aus dem geordneten dict zu erhalten. Hier ist ein Beispiel:

from collections import OrderedDict
original_liste = [1, 2, 3, 4, 2, 5, 3, 6]

keine_duplikate_liste = list(OrderedDict.fromkeys(original_liste))

print(keine_duplikate_liste)
# Ausgabe: [1, 2, 3, 4, 5, 6]

Sie können diejenige auswählen, die am besten zu Ihrem Bedarf passt.