Entferner von Python-Array-Duplikaten

Filtern Sie doppelte Elemente aus einer Python-Liste und behalten Sie dabei ihre ursprüngliche Einfügereihenfolge bei.

Versuchen Sie es im Editor

Übersicht

Das Entfernen von Duplikaten ist einer der häufigsten Datenbereinigungsvorgänge in Software.

Durch die Umwandlung einer Liste in eine Menge („set(arr)“) werden Duplikate entfernt, aber die Reihenfolge der Elemente zerstört, da Mengen ungeordnet sind.

Um Duplikate zu entfernen und gleichzeitig die Reihenfolge beizubehalten, durchlaufen wir die Liste, verfolgen die gesehenen Elemente in einem Satz und hängen neue an eine Ergebnisliste an.

Code- und Ausführungsausgabe

Effizienter O(n)-Ordnungserhaltungsakkumulator für eindeutige Elemente.

remove_duplicates.py
Versuchen Sie es im Editor
def remove_duplicates(arr):
    seen = set()
    result = []
    for item in arr:
        if item not in seen:
            seen.add(item)
            result.append(item)
    return result

sample_list = [1, 2, 2, 3, 4, 4, 1, 5]
print("Original:", sample_list)
print("Unique:  ", remove_duplicates(sample_list))
Terminal-Ausgabe
Original: [1, 2, 2, 3, 4, 4, 1, 5]
Unique:   [1, 2, 3, 4, 5]

Schrittweise Umsetzung

  • Bereinigen von Suchverlaufs- und Transaktionsaufzeichnungsprotokollen
  • Vorbereiten einer Liste eindeutiger Datenschlüssel für SQL-Abfragen
  • Bereinigen von Arrays für die Visualisierungszuordnung

Häufig gestellte Fragen

Was ist der schnellste Weg, dies inPython 3.7+ zu tun?

DaPython 3.7+ die Einfügereihenfolge des Wörterbuchs beibehält, können Sie „list(dict.fromkeys(arr))“ ausführen, um Duplikate zu entfernen und gleichzeitig die Reihenfolge in einem einzigen optimierten Schritt beizubehalten.

Verwandte Themen