Articolo originale: Python .pop() – How to Pop from a List or an Array in Python

In questo articolo, imparerai come usare il metodo integrato delle liste di Python pop().

Alla fine, saprai come usare pop() per rimuovere un elemento da una lista di Python.

Ecco di cosa parleremo:

  1. Una panoramica delle liste in Python
  2. Come cancellare elementi di una lista usando pop()
  3. Sintassi del metodo pop()
  4. Usare il metodo pop() senza parametri
  5. Usare il metodo pop() con parametri opzionali
  6. Gestire errori comuni

Cosa sono le Liste di Python e Come Crearle

Le liste sono un tipo di dato integrato in Python. Fungono da contenitori, archiviando raccolte di dati.

Le liste vengono create usando le parentesi quadre, [], così:

#una lista vuota
my_list = []

print(my_list)
print(type(my_list))

#output

#[]
#<class 'list'>

Puoi anche creare una lista usando il costruttore list():

#una lista vuota
my_list = list()

print(my_list)
print(type(my_list))

#output

#[]
#<class 'list'>

Come hai potuto vedere qui sopra, una lista può contenere 0 elementi, e in quel caso viene considerata una lista vuota.

Le liste possono anche contenere elementi, detti elementi della lista. Gli elementi della lista sono racchiusi tra le parentesi quadre e ognuno di essi è separato da una virgola, ,.

Gli elementi della lista possono essere omogenei, cioè dello stesso tipo.

Per esempio, puoi avere una lista di soli numeri, o una lista di solo testo:

# una lista di numeri interi
my_numbers_list = [10,20,30,40,50]

# una lista di stringhe
names = ["Josie", "Jordan","Joe"]

print(my_numbers_list)
print(names)

#output

#[10, 20, 30, 40, 50]
#['Josie', 'Jordan', 'Joe']

Gli elementi della lista possono essere anche eterogenei, cioè possono essere tutti di tipi di dato diversi.

Questo è ciò che distingue le liste dagli array. Gli array richiedono che gli elementi siano tutti dello stesso tipo di dato, mentre le liste no.

# una lista contenente stringhe, numeri interi e numeri decimali
my_information = ["John", "Doe", 34, "London", 1.76]

print(my_information)

#output

#['John', 'Doe', 34, 'London', 1.76]

Le liste sono mutabili, il che significa che possono essere modificate. Gli elementi della lista possono essere aggiornati, cancellati e si possono aggiungere nuovi elementi alla lista.

Come Cancellare Elementi da una Lista Usando il Metodo pop() di Python

Nelle sezioni seguenti imparerai come usare il metodo pop() per rimuovere elementi dalle liste di Python.

Il Metodo pop() - Una Panoramica della Sintassi

La sintassi generica del metodo pop() è la seguente:

nome_lista.pop(indice)

Vediamola nel dettaglio:

  • nome_lista è il nome della lista con cui stai lavorando.
  • Il metodo integrato di Python pop() prende un solo parametro opzionale.
  • Il parametro opzionale è l'indice dell'elemento che vuoi rimuovere.

Come Usare il Metodo pop() Senza Parametri

Se non viene specificato nessun indice, automaticamente il metodo pop() rimuoverà l'ultimo elemento che è contenuto nella lista.

Ciò significa che quando il metodo pop() non ha nessun argomento, rimuoverà l'ultimo elemento della lista.

Quindi, la sintassi sarà la seguente:

nome_lista.pop()

Vediamo un esempio:

# lista di linguaggi di programmazione
programming_languages = ["Python", "Java", "JavaScript"]

# visualizza la lista iniziale
print(programming_languages)

# rimuovi l'ultimo elemento, cioè "JavaScript"
programming_languages.pop()

# visualizza di nuovo la lista
print(programming_languages)

#output

#['Python', 'Java', 'JavaScript']
#['Python', 'Java']

Oltre a rimuovere l'elemento, pop() lo restituisce anche.

Ciò è molto utile se vuoi salvare e immagazzinare un elemento in una variabile per usarlo in un secondo momento.

# lista di linguaggi di programmazione
programming_languages = ["Python", "Java", "JavaScript"]

# visualizza la lista iniziale
print(programming_languages)


# rimuovi l'ultimo elemento, cioè "JavaScript", e immagazzinalo in una variabile
front_end_language = programming_languages.pop()

# visualizza di nuovo la lista
print(programming_languages)

# visualizza l'elemento che è stato rimosso
print(front_end_language)

#output

#['Python', 'Java', 'JavaScript']
#['Python', 'Java']
#JavaScript

Come Usare il Metodo pop() Con un Parametro Opzionale

Per rimuovere un determinato elemento della lista, devi specificare l'indice di quell'elemento. Nello specifico, passi l'indice, che rappresenta la posizione dell'elemento, come parametro al metodo pop().

L'indicizzazione in Python, e in generale in tutti i linguaggi di programmazione, è in base zero. Si inizia a contare da 0 e non da 1.

Ciò significa che il primo elemento in una lista ha un indice di 0. Il secondo elemento ha un indice di 1, e così via.

Quindi, per rimuovere il primo elemento in una lista, puoi specificare l'indice 0 come parametro del metodo pop().

E ricorda, pop() restituisce l'elemento che è stato rimosso. Questo ti permette di immagazzinarlo in una variabile, come hai visto nella sezione precedente.

# lista di linguaggi di programmazione
programming_languages = ["Python", "Java", "JavaScript"]

# rimuovi il primo elemento e salvalo in una variabile
programming_language = programming_languages.pop(0)

# visualizza la lista aggiornata
print(programming_languages)

# visualizza l'elemento che è stato rimosso dalla lista originale
print(programming_language)

#output

#['Java', 'JavaScript']
#Python

Diamo un'occhiata a un altro esempio:

# lista di linguaggi di programmazione
programming_languages = ["Python", "Java", "JavaScript"]

# rimuovi "Java" dalla lista
# Java è il secondo elemento nella lista, il che significa che ha un indice di 1

programming_languages.pop(1)

# visualizza la lista
print(programming_languages)

#output
#['Python', 'JavaScript']

Nell'esempio in alto, c'era un elemento specifico della lista che volevi rimuovere. Per far sì che tu possa rimuovere un valore specifico, devi sapere la sua posizione.

Una Panoramica degli Errori Comuni Che si Verificano Usando il Metodo pop()

Tieni a mente che si verificherà un errore se provi a rimuovere un elemento con un indice uguale o più grande della lunghezza della lista - nello specifico si verificherà un IndexError.

Diamo un'occhiata al seguente esempio che mostra come trovare la lunghezza di una lista:

# lista dei linguaggi di programmazione
programming_languages = ["Python", "Java", "JavaScript"]

# trova la lunghezza della lista
print(len(programming_languages))

#output
#3

Per trovare la lunghezza di una lista puoi usare la funzione len(), che restituisce il numero totale degli elementi contenuti nella lista.

Se provo a rimuovere un elemento alla posizione 3, che è uguale alla lunghezza della lista, ottengo un errore che mi dice che l'indice passato è fuori dai limiti:

# lista di linguaggi di programmazione
programming_languages = ["Python", "Java", "JavaScript"]

programming_languages.pop(3)

#output

# line 4, in <module>
#    programming_languages.pop(3)
#IndexError: pop index out of range

La stessa eccezione sarebbe stata restituita se avessi provato a rimuovere un elemento alla posizione 4 o a una posizione più alta.

Allo stesso modo, l'eccezione verrebbe restituita se usassi il metodo pop() su una lista vuota:

# lista vuota
programming_languages = []

# prova ad usare pop() su una lista vuota
programming_languages.pop()

# visualizza la lista aggiornata
print(programming_languages)

#output
#line 5, in <module>
#    programming_languages.pop()
#IndexError: pop from empty list

Conclusione

Ecco qua! Ora sai come rimuovere un elemento da una lista di Python usando il metodo pop().

Spero che tu abbia trovato utile questo articolo.

Per saperne di più sul linguaggio di programmazione Python, dai un'occhiata alla Certificazione di Calcolo Scientifico con Python di freeCodeCamp.

Inizierai dalle basi e imparerai in modo interattivo, semplice e intuitivo. Inoltre, alla fine del corso lavorerai a cinque progetti per mettere in pratica e consolidare ciò che hai imparato.

Grazie per aver letto e buona programmazione!