Entferner von Python-Array-Duplikaten
Filtern Sie doppelte Elemente aus einer Python-Liste und behalten Sie dabei ihre ursprüngliche Einfügereihenfolge bei.
Ü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.
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))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
Entdecken Sie Python-Sortieralgorithmen. Visualisieren Sie Blasensortierung und Zusammenführungssortierung nativ in einem Browser-IDE-Kontext.
Binärer Python-SuchalgorithmusDurchsuchen Sie sortierte Listen in logarithmischer O(log n)-Zeit. Führen Sie die binäre Suche in Python aus und verstehen Sie sie, einschließlich Schritt-für-Schritt-Logik, Randfällen und Optimierungen.