Rimuovere nessuno dall'elenco Python

Rimuovere nessuno dall'elenco Python

Gli elenchi vengono utilizzati per archiviare i dati di vari tipi e questi dati possono essere utilizzati direttamente per l'analisi dei dati o per gli scopi di elaborazione dei dati. Lo "nessuno" nell'elenco può causare gravi ambiguità nel risultato di tali operazioni, che non è quello che vuoi, vero? Bene, questa guida utilizzerà metodi e approcci diversi per rimuovere tutti i valori "nessuno" dall'elenco.

Di seguito sono elencate tutte le diverse soluzioni che possono essere utilizzate per rimuovere nessuno dall'elenco in Python:

  • Soluzione 1: utilizzando il metodo Rimovi () con il metodo __contains __ ()
  • Soluzione 2: utilizzando la comprensione dell'elenco con if-condizione
  • Soluzione 3: utilizzando il metodo Filter () per rimuovere i valori di nessuno dall'elenco

Soluzione 1: utilizzando il metodo Rimovi () con il metodo __contains __ ()

Ogni volta che l'utente desidera rimuovere un elemento, il primo metodo che viene in mente è il metodo Rimovi (). Tuttavia, il metodo Rimuovi non può essere utilizzato per rimuovere i valori di tutti/più nessuno dall'elenco. Perché il metodo Rimovi () rimuove solo la prima istanza dell'elemento dall'elenco.

Per dimostrare questo, prendi il seguente codice:

listVar = [69,22,65, nessuno, nessuno, 123.6789, nessuno]
Listvar.Rimuovi (nessuno)
Stampa (ListVar)

L'esecuzione di questo codice produrrà il seguente risultato sul terminale della macchina:

L'output conferma che è stata rimossa solo la prima istanza di "nessuno". Per rimuovere tutte le istanze del "nessuno" dall'elenco, usa il loop while insieme al metodo __contains __ ():

listVar = [69,22,65, nessuno, nessuno, 123.6789, nessuno]
mentre Listvar.__ contea __ (nessuno):
Listvar.Rimuovi (nessuno)
Stampa (ListVar)

In questo frammento di codice, il loop while continua a funzionare fino a quando non sono rimasti più istanze di "nessuno" nell'elenco. Quando questo codice viene eseguito, produce il seguente risultato sul terminale:

L'output conferma che non ci sono più istanze di "nessuno" trovato nell'elenco, il che significa che tutti sono stati rimossi con successo.

Soluzione 2: utilizzando la comprensione dell'elenco con if-condizione

Un altro modo per rimuovere "nessuno" dall'elenco è usando la comprensione dell'elenco per passare attraverso ogni elemento, confrontandolo con "nessuno" attraverso la condizione if e posizionando i valori non noni in un elenco separato.

Per rimuovere nessuno dall'elenco utilizzando questo metodo, prendi il seguente frammento di codice:

listVar = [69,22,65, nessuno, nessuno, 123.6789, nessuno]
newlist = []
per x in listvar:
Se x non è nessuno:
Newlist.append (x)
Print ("Elenco originale:", ListVar)
Print ("Nuovo elenco:", newlist)

Quando questo codice viene eseguito, produrrà il seguente risultato sul terminale della macchina:

L'output conferma che non ci sono valori "nessuno" presenti nel nuovo elenco.

Soluzione 3: utilizzando il metodo Filter () per rimuovere i valori di nessuno dall'elenco

Il metodo Filter () può anche essere utilizzato per rimuovere "nessuno" da un elenco, ma utilizzarlo normalmente può causare alcuni problemi. Il metodo Filter () considera il valore "0" come "nessuno" e lo rimuove anche dall'elenco. Per dimostrarlo, prendi il seguente codice:

ListVar = [69,0,22,65,0, nessuno, nessuno, 123,6789, nessuno]
Res = elenco (filtro (nessuno, listVar))
Print ("Elenco originale:", ListVar)
Stampa ("Elenco dopo filtro:", Res)

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

Dall'output, si può chiaramente osservare che il metodo Filter () ha rimosso anche il valore "0" dall'elenco.

Il modo corretto di utilizzare il metodo Filter () per rimuovere tutti i valori "nessuno" dall'elenco senza interrompere altri valori dell'elenco è utilizzare una "istruzione Lambda" all'interno del primo argomento:

ListVar = [69,0,22,65,0, nessuno, nessuno, 123,6789, nessuno]
Res = elenco (filtro (Lambda Elem: Elem non è nessuno, ListVar))
Print ("Elenco originale:", ListVar)
Stampa ("Elenco dopo filtro:", Res)

Questa volta quando viene eseguito il codice, produrrà il seguente output sul terminale:

Come puoi vedere, hai rimosso correttamente tutti i valori "nessuno" dall'elenco utilizzando correttamente il metodo Filter ().

Conclusione

L'utente può rimuovere tutto "Nessuno"Valori da un elenco di Python utilizzando il metodo Rimovi () insieme al metodo __contains __ (), elenco di comprensione con if-condizione o utilizzando il metodo Filter () con l'istruzione Lambda. Tutti questi tre metodi sono stati accuratamente elaborati in questo post con rappresentazione pittorica.