Python Count Duplicate nell'elenco

Python Count Duplicate nell'elenco
Avere duplicati nei dati può causare problemi gravi, soprattutto quando si lavora con grandi quantità di dati per l'analisi dei dati o l'elaborazione dei dati. Pertanto, è dovere del programmatore rilevare i duplicati ed eliminarli dai dati. Questo post si concentrerà sul primo e spiegherà i diversi metodi attraverso i quali l'utente può facilmente rilevare e contare i duplicati all'interno di un elenco di Python.

Il contenuto di questa guida è riportato di seguito:

  • Metodo 1: utilizzando l'elenco per impostare la conversione
  • Metodo 2: utilizzando il metodo di comprensione e conteggio dell'elenco ()
  • Metodo 3: utilizzando la comprensione dell'elenco con la condizione If-No-in

Cominciamo con il primo metodo subito!

Metodo 1: utilizzando l'elenco per impostare la conversione

Un elenco in Python può contenere duplicati, il che significa che non esiste unicità come quella trovata nei set di Python. Pertanto, un modo semplice per rilevare se ci sono duplicati all'interno di un elenco di Python è convertirlo in un set e confrontare le dimensioni di entrambi.

Per dimostrarlo, inizia creando un elenco in Python utilizzando il seguente codice:

ListVar = [123,46,11,78,334,46,98,11,90]

Successivamente, utilizzare il metodo SET () per convertire questo elenco in un set e memorizzarlo all'interno di una variabile separata:

setvar = set (listVar)

Stampa il numero di elementi di entrambi usando il metodo Len ():

Print ("Elements in List:", Len (ListVar))
print ("Elements in set:", len (setvar))

Quando viene eseguito questo codice, produce i seguenti risultati sul terminale:

Secondo l'output, il numero di elementi nell'elenco è 9 E 7 per il set. Ciò significa che ci sono un totale di due duplicati nell'elenco. Ma, invece di calcolare manualmente i duplicati, puoi anche usare la seguente riga:

Print ("Numero di duplicati nell'elenco", len (listvar) -len (setvar))

Il frammento completo di codice con questa nuova istruzione di stampa è:

ListVar = [123,46,11,78,334,46,98,11,90]
setvar = set (listVar)
Print ("Numero di duplicati nell'elenco", len (listvar) -len (setvar))

Quando questo codice viene eseguito, produce il seguente risultato sul terminale:

Come puoi vedere dall'immagine di output, ci sono un totale di due duplicati nell'elenco.

Metodo 2: utilizzando il metodo di comprensione e conteggio dell'elenco ()

Un altro metodo per stampare i duplicati di un elenco è utilizzando il metodo di comprensione dell'elenco per recuperare ogni valore dall'elenco e quindi utilizzare il metodo Count () per verificare il suo conteggio all'interno dell'elenco. Se il risultato del metodo Count () è maggiore di uno, è possibile aggiungere quell'elemento a un elenco di duplicati.

Per dimostrare il funzionamento di questo metodo, prendere il seguente codice:

ListVar = [123,46,11,78,334,46,98,11,90]
duplicatovar = []
per x in listvar:
Se Listvar.Conte (x)> 1:
duplicatovar.append (x)
Stampa ("I duplicati trovati nell'elenco sono:", Duplicatevar)

Quando questo codice viene eseguito, produce il seguente risultato sul tuo terminale:

Come puoi vedere dall'output, i valori "46" e "11" erano presenti due volte ciascuno.

Metodo 3: utilizzando la comprensione dell'elenco con la condizione If-No-in

Un altro metodo per trovare duplicati in un elenco è utilizzando la comprensione dell'elenco e applicando la condizione IF-NOT-in.

Prendi il seguente frammento di codice per questo metodo:

ListVar = [123,46,11,78,334,46,98,11,90]
UniqueListVar = []
duplicateListvar = []
per x in listvar:
Se x non in unquelistvar:
Uniquelistvar.append (x)
altro:
duplicatelistvar.append (x)
Stampa ("L'elenco di elementi unici è:", Uniquelistvar)
Print ("I duplicati trovati nell'elenco sono:", DuplicateListvar)

In questo frammento di codice:

  • Vengono creati due nuovi elenchi, uno per archiviare ogni valore univoco e uno per archiviare ogni valore ripetuto/duplicato
  • Ogni elemento viene controllato rispetto ai valori memorizzati nell'elenco dei valori univoci e se non esiste già lì, viene aggiunto ad esso.
  • Se esiste già lì, viene aggiunto all'elenco dei valori duplicati.
  • Alla fine, stampare entrambi gli elenchi sul terminale utilizzando il metodo Print ()

Quando questo codice viene eseguito, produce il seguente risultato sul tuo terminale:

Dall'output, si può vedere che i valori "46" e "11" erano duplicati e quindi solo una delle loro istanze viene lasciata nell'elenco dei valori univoci.

Conclusione

Per trovare duplicati in un elenco, l'utente può utilizzare approcci diversi che includono la conversione dell'elenco in una stringa, utilizzando la comprensione dell'elenco con il metodo Count () o utilizzando la condizione IF-NOT-in con la comprensione dell'elenco. Tuttavia, il metodo più veloce per rimuovere i duplicati dall'elenco è la conversione dell'elenco in un set.