Il metodo pop sui dictionary in Python, consente di rimuovere un elemento dal dizionario preso in considerazione.
Il metodo accetta due parametri, uno obbligatorio, l’altro opzionale. La sintassi è, dunque, la seguente:
d.pop(key, def)
Dove key è la chiave che consente di rimuovere tutta la coppia chiave:valore dal dizionario d. Questo parametro è obbligatorio. Ciò vuol dire che non posso scrivere d.pop(), si avrebbe un errore (keyError).
Mentre def rappresenta il valore predefinito da restituire se la chiave non esite, in questo modo si riesce ad evitare il (keyError). Questo parametro invece è opzionale.
Pop dictionary Python – primo esempio
In questo primo esempio, prendendo in considerazione il dizionario student, proviamo ad eliminare una coppia chiave: valore.
Ecco dunque un esempio di codice:
student = {
'name': 'Cristina', 'age': 20, 'mail': 'info@codingcreativo.it'
}
student.pop('age')
print(student)
Provatelo nel compilatore Python online che trovere al seguente link: compiler online.
L’output visualizzato sarà il seguente:
{'name': 'Cristina', 'mail': 'info@codingcreativo.it'}
Facciamo anche la prova a stampare l’elemento eliminato.
student = {
'name': 'Cristina', 'age': 20, 'mail': 'info@codingcreativo.it'
}
del_element = student.pop('age')
print(del_element)
print(student)
Così riusciamo a stampare l’elemento eliminato, oltre al dizionario con l’elemento mancante.
Pop dictionary Python – secondo esempio
In questo secondo esempio, prendiamo come riferimento lo stesso dizionario dell’esempio precedente ma, questa volta, proviamo ad eliminare una chiave che non esiste.
Ecco, dunque, un possibile esempio:
student = {
'name': 'Cristina', 'age': 20, 'mail': 'info@codingcreativo.it'
}
student.pop('surname')
print(student)
In questo caso si ha un errore del tipo:
Traceback (most recent call last): File “/tmp/sessions/7ad116a7a00a02b7/main.py”, line 4, in <module> student.pop(‘surname’) KeyError: ‘surname’
Questo è un KeyError, ciò sta ad indicare chiaramente che c’è un errore nella chiave surname.
Se invece specifichiamo il parametro opzionale def, non verrà restituito l’errore, ma ciò che è spcificato in def.
Ecco dunque un esempio:
student = {
'name': 'Cristina', 'age': 20, 'mail': 'info@codingcreativo.it'
}
del_element = student.pop('surname','non presente')
print(del_element)
print(student)
L’output visualizzato è questo:
non presente {'name': 'Cristina', 'age': 20, 'mail': 'info@codingcreativo.it'}
Conclusione
In questa lezione abbiamo studiato il metodo pop() sui dictionary in Python, creando due semplici esempi pratici al fine di capirne il funzionamento.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili
11 – Modulo math