Rimozione duplicati di array Python

Filtra gli elementi duplicati da un elenco Python mantenendo l'ordine di inserimento originale.

Prova nell'editor

Panoramica

La rimozione dei duplicati è una delle operazioni di pulizia dei dati più comuni nel software.

Trasmettere una lista a un set (`set(arr)`) rimuove i duplicati ma distrugge l'ordine degli elementi perché i set non sono ordinati.

Per rimuovere i duplicati preservando l'ordine, iteriamo attraverso l'elenco e tracciamo gli elementi visti in un set, aggiungendone di nuovi a un elenco di risultati.

Codice e output di esecuzione

Efficiente accumulatore di elementi unici che preservano l'ordine O(n).

remove_duplicates.py
Prova nell'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))
Uscita terminale
Original: [1, 2, 2, 3, 4, 4, 1, 5]
Unique:   [1, 2, 3, 4, 5]

Implementazione passo dopo passo

  • Sanificazione della cronologia delle ricerche e dei registri dei record delle transazioni
  • Preparazione dell'elenco di chiavi dati univoche per le query SQL
  • Pulizia degli array per la mappatura della visualizzazione

Domande frequenti

Qual è il modo più veloce per farlo inPython 3.7+?

PoichéPython 3.7+ preserva l'ordine di inserimento del dizionario, puoi eseguire `list(dict.fromkeys(arr))` per rimuovere i duplicati mantenendo l'ordine in un unico passaggio ottimizzato.

Argomenti correlati