Che cos'è la differenza tra del, remove e pop su Python Lists
- Rimozione della lista Python per valore
- Elenco Python Rimozione per indice
-
Rimozione della lista di Python con
del
![Che cos'è la differenza tra del, remove e pop su Python Lists](/img/Python/feature-image---What-is-Difference-Between-del-remove-And-pop-on-Python-Lists.webp)
Come spesso accade, Python offre diversi mezzi per ottenere la stessa cosa.
Se avete bisogno di cancellare un elemento da una lista, potete usare uno qualsiasi degli elementi
le funzioni list.remove()
o list.pop()
o l’istruzione del
.
Negli esempi che seguono, tratteremo ciascuno di questi approcci e discuteremo le loro differenze e i loro compromessi.
Rimozione della lista Python per valore
list.remove()
rimuove il primo elemento della lista, il cui valore è uguale all’argomento passato.
Quando si usa questo metodo, di solito non si sa o non ci si preoccupa di quale sia l’indice dell’elemento da rimuovere.
>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.remove('Cindy')
>>> names
['Bob', 'Noah']
Fare attenzione quando si usa questo metodo.
Se un elemento che si sta cercando di eliminare non esiste nella lista,
il Python runtime lancerà un ValueError
.
>>> names = ['Bob', 'Noah']
>>> names.remove('Cindy')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
Per navigare intorno a questo problema, dovrete controllare se un elemento
esiste nella lista prima di provare a list.remove()
it.
>>> names = ['Bob', 'Noah']
>>> if 'Cindy' in names:
... names.remove('Cindy')
...
>>>
Elenco Python Rimozione per indice
Se si conosce l’indice di un elemento che si vuole rimuovere, si può usare il metodo list.pop()
.
>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.pop(1)
'Cindy'
>>> names
['Bob', 'Noah']
list.pop()
rimuove un elemento all’indice specificato e lo restituisce.
Se non si dà alcun indice a list.pop()
, esso rimuoverà l’ultimo elemento della lista.
>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.pop()
'Noah'
>>> names
['Bob', 'Cindy']
Rimozione della lista di Python con del
Un’altra opzione per rimuovere un elemento da una lista per indice è quella di utilizzare l’istruzione del
built-in.
A differenza di list.pop()
l’istruzione del
non restituisce un valore rimosso.
>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[1]
>>> names
['Bob', 'Noah']
L’istruzione del
è anche più flessibile di list.pop()
.
Si può usare per rimuovere intervalli di valori dalla lista.
>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[0:2]
>>> names
['Noah']
Si può anche usare per cancellare l’intera lista.
>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[:]
>>> names
[]
Come si può vedere da quanto sopra, ogni approccio ha casi d’uso leggermente diversi.
Tuttavia, se tutto ciò che serve è rimuovere un singolo elemento dalla lista senza ricordarne il valore, allora uno dei due metodi funzionerà.
Utilizzate quello che si legge meglio nel contesto più ampio del vostro codice.
Articolo correlato - Python List
- Converti un dizionario in una lista in Python
- Rimuovi i duplicati dall'lista in Python
- Rimuovi tutte le occorrenze di un elemento da una lista in Python
- Ottieni la media di una lista in Python
- Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
- Come convertire una lista in stringa in Python