
Il metodo pop() di Python
Il metodo pop() in Python ti permette di rimuovere un elemento da una lista o da un dizionario.
object.pop(index)
Tra le parentesi tonde puoi specificare l'indice dell'elemento che vuoi prelevare. Se non specifichi l'indice, il metodo rimuove e restituisce l'ultimo elemento.
Il metodo pop() restituisce e rimuove l'elemento che hai indicato.
Nel caso dei dizionari tra le parentesi devi specificar tra parentesi e la chiave che vuoi rimuovere tra le parentesi tonde. Se la chiave non esiste nel dizionario, il metodo pop() solleva un'eccezione KeyError a meno che non specifichi un valore predefinito come secondo argomento, da restituire se la chiave non esiste.
Il metodo pop() nelle liste
Ecco un esempio pratico di utilizzo del metodo pop() in una lista.
Crea una lista.
list = ['a', 'b', 'c', 'd', 'e']
Poi preleva e rimuovi l'ultimo elemento della lista tramite il metodo pop() e assegna il valore alla variabile "item".
item = list.pop()
In questo caso viene assegnato l'ultimo elemento alla variabile "item" ossia il valore "e"
print(item)
e
Ora la lista è composta da quattro elementi.
print(item)
['a', 'b', 'c', 'd']
Se vuoi prelevare un elemento specifico della lista, indica la sua posizione nell'indice tra le parentesi tonde.
Ad esempio, per prelevare il secondo elemento digita list.pop(1)
item = list.pop(1)
In questo caso viene prelevato il valore 'b' dalla lista.
print(item)
b
Ora la lista è composta da tre elementi.
print(list)
['a', 'c', 'd']
Il metodo pop nei dizionari
Puoi usare il metodo pop() anche sui dizionari.
Ad esempio, crea un dizionario con tre chiavi.
dictionary = {'name': 'Mary', 'age': 30, 'city': 'Rome'}
Poi digita dictionary.pop('age') rimuovi dal dizionario la chiave "age"
removed_element = dictionary.pop('age')
Il metodo pop() rimuove il valore nella chiave "age" e lo assegna alla variabile "removed_element".
In questo caso si tratta del valore 30
print(removed_element)
30
Ora il dizionario è composto soltanto da due chiavi
print(dictionary)
{'name': 'Mary', 'city': 'Rome'}