Un elenco è un contenitore che contiene diversi oggetti Python, che potrebbero essere numeri interi, parole, valori, ecc. È l'equivalente di un array in altri linguaggi di programmazione.
Quindi qui esamineremo diversi modi in cui possiamo rimuovere i duplicati da un determinato elenco.
In questo tutorial imparerai:
- Rimuovi i duplicati dall'elenco utilizzando Set
- Rimuovi i duplicati da un elenco utilizzando l'elenco temporaneo.
- Rimuovi i duplicati dall'elenco utilizzando Dict
- Rimuovi i duplicati da un elenco utilizzando for-loop
- Rimuovi i duplicati dall'elenco utilizzando la comprensione dell'elenco
- Rimuovi i duplicati dall'elenco utilizzando il metodo Numpy unique ().
- Rimuovi i duplicati dall'elenco utilizzando i metodi Pandas
- Rimuovi i duplicati usando enumerate () e list Understanding
Rimuovi i duplicati dall'elenco utilizzando Set
Per rimuovere i duplicati da un elenco, è possibile utilizzare la funzione incorporata set (). La specialità del metodo set () è che restituisce elementi distinti.Abbiamo una lista: [1,1,2,3,2,2,4,5,6,2,1]. L'elenco ha molti duplicati che dobbiamo rimuovere e recuperare solo gli elementi distinti. L'elenco viene fornito alla funzione incorporata set (). Successivamente l'elenco finale viene visualizzato utilizzando la funzione incorporata list (), come mostrato nell'esempio seguente.
L'output che otteniamo sono elementi distinti in cui vengono eliminati tutti gli elementi duplicati.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Produzione:
[1, 2, 3, 4, 5, 6]
Rimuovi i duplicati da un elenco utilizzando l'elenco temporaneo
Per rimuovere i duplicati da un determinato elenco, puoi utilizzare un elenco temporaneo vuoto. Per prima cosa, dovrai scorrere l'elenco con duplicati e aggiungere gli elementi univoci all'elenco temporaneo. Successivamente l'elenco temporaneo viene assegnato all'elenco principale.
Ecco un esempio funzionante che utilizza l'elenco temporaneo.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]print("List Before ", my_list)temp_list = []for i in my_list:if i not in temp_list:temp_list.append(i)my_list = temp_listprint("List After removing duplicates ", my_list)
Produzione:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Rimuovi i duplicati dall'elenco utilizzando Dict
Possiamo rimuovere i duplicati dall'elenco fornito importando OrderedDict dalle raccolte. È disponibile da python2.7 in poi. OrderedDict si occupa di restituirti gli elementi distinti in un ordine in cui la chiave è presente.
Facciamo uso di una lista e usiamo il metodo fromkeys () disponibile in OrderedDict per ottenere gli elementi univoci dalla lista.
Per utilizzare il metodo OrderedDict.fromkey (), devi importare OrderedDict dalle raccolte, come mostrato di seguito:
from collections import OrderedDict
Ecco un esempio per rimuovere i duplicati utilizzando il metodo OrderedDict.fromkeys ().
from collections import OrderedDictmy_list = ['a','x','a','y','a','b','b','c']my_final_list = OrderedDict.fromkeys(my_list)print(list(my_final_list))
Produzione:
['a', 'x', 'y', 'b', 'c']
Da Python 3.5+ in poi, possiamo usare il normale dict.fromkeys () per ottenere gli elementi distinti dall'elenco. I metodi dict.fromkeys () restituiscono chiavi univoche e aiutano a sbarazzarsi dei valori duplicati.
Un esempio che mostra il funzionamento di dict.fromkeys () su un elenco per fornire gli elementi univoci è il seguente:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Produzione:
['a', 'x', 'y', 'b', 'c']
Rimuovi i duplicati da un elenco utilizzando for-loop
Usando for-loop, attraverseremo l'elenco di elementi per rimuovere i duplicati.
Inizializza prima l'array per svuotare, ad esempio myFinallist = []. All'interno del ciclo for, aggiungi controlla se gli elementi nell'elenco esistono nell'array myFinallist. Se gli elementi non esistono, aggiungi l'elemento all'array myFinallist usando append () metodo.
Quindi ogni volta che si incontra l'elemento duplicato sarà già presente nell'array myFinallist e non verrà inserito. Controlliamo ora lo stesso nell'esempio seguente:
my_list = [1,2,2,3,1,4,5,1,2,6]myFinallist = []for i in my_list:if i not in myFinallist:myFinallist.append(i)print(list(myFinallist))
Produzione:
[1, 2, 3, 4, 5, 6]
Rimuovi i duplicati dall'elenco utilizzando la comprensione dell'elenco
Le liste di comprensione sono funzioni Python che vengono utilizzate per creare nuove sequenze (come liste, dizionari, ecc.) Usando sequenze che sono già state create. Questo ti aiuta a ridurre i loop più lunghi e rendere il tuo codice più facile da leggere e mantenere.
Utilizziamo la comprensione dell'elenco per rimuovere i duplicati dall'elenco fornito.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [][my_finallist.append(n) for n in my_list if n not in my_finallist]print(my_finallist)
Produzione:
[1, 2, 3, 4, 5, 6]
Rimuovi i duplicati dall'elenco utilizzando il metodo Numpy unique ().
Il metodo unique () del modulo Numpy può aiutarci a rimuovere i duplicati dall'elenco fornito.
Per lavorare con Numpy prima importa il modulo numpy, devi seguire questi passaggi:
Passaggio 1 ) Importa il modulo Numpy
import numpy as np
Passaggio 2) Usa il tuo elenco con duplicati all'interno del metodo univoco come mostrato di seguito. L'output viene riconvertito in un formato elenco utilizzando il metodo tolist ().
myFinalList = np.unique(my_list).tolist()
Passaggio 3) Infine stampare l'elenco come mostrato di seguito:
print(myFinalList)
Il codice finale con l'output è il seguente:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Produzione:
[1, 2, 3, 4, 5, 6]
Rimuovi i duplicati dall'elenco utilizzando i metodi Pandas
Il modulo Pandas ha un metodo unique () che ci darà gli elementi unici dalla lista data.
Per lavorare con il modulo Panda, devi seguire questi passaggi:
Passaggio 1) Importa il modulo Panda
import pandas as pd
Passaggio 2) Usa il tuo elenco con i duplicati all'interno del metodo unique () come mostrato di seguito:
myFinalList = pd.unique(my_list).tolist()
Passaggio 3) Stampa l'elenco come mostrato di seguito:
print(myFinalList)
Il codice finale con l'output è il seguente:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Produzione:
[1, 2, 3, 4, 5, 6]
Rimuovi i duplicati usando enumerate () e list Understanding
Qui la combinazione di comprensione della lista ed enumerazione per rimuovere gli elementi duplicati. Enumerate restituisce un oggetto con un contatore per ogni elemento nell'elenco. Ad esempio (0,1), (1,2) ecc. Qui il primo valore è l'indice e il secondo valore è l'elemento dell'elenco. W
Ogni elemento viene controllato se esiste nell'elenco e, in caso affermativo, viene rimosso dall'elenco.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]]print(list(my_finallist))
Produzione:
[1, 2, 3, 4, 5, 6]
Sommario
- Per rimuovere i duplicati da un elenco, è possibile utilizzare la funzione incorporata set (). La specialità del metodo set () è che restituisce elementi distinti.
- È possibile rimuovere i duplicati dall'elenco fornito importando OrderedDict dalle raccolte. È disponibile da python2.7 in poi. OrderedDictdict si occupa di restituirti gli elementi distinti in un ordine in cui la chiave è presente.
- Puoi utilizzare un ciclo for che attraverseremo l'elenco di elementi per rimuovere i duplicati.
- Il metodo unique () del modulo Numpy può aiutarci a rimuovere i duplicati dall'elenco fornito.
- Il modulo Pandas ha un metodo unique () che ci darà gli elementi unici dalla lista data.
- La combinazione di comprensione dell'elenco ed enumerazione viene utilizzata per rimuovere gli elementi duplicati dall'elenco. Enumerate restituisce un oggetto con un contatore per ogni elemento nell'elenco.