In questa quarta parte del corso online dedicato a python, studieremo in tutto e per tutto, le liste! In Python una lista è una collezione di elementi ordinata e dinamica.
Gli elementi della collezione non sono necessariamente dello stesso tipo, ciò significa che all'interno di essa potremmo avere delle stringhe, degli interi, degli oggetti, o addirittura altre liste annidate.
Sintassi
Per creare una lista ci basterà inserire i valori che vogliamo all'interno delle parentesi quadre []
:
>>> mia_lista = ["ciao", 10, True, 21, "ananas"]
Come detto in precedenza, in questo caso, abbiamo un insieme di elementi di diverso tipo tra loro, ovvero una stringa, un intero e un valore booleano.
Accedere ad un singolo elemento della lista
Per accedere agli elementi della lista dobbiamo dichiarare il nome della lista con l'indice tra le parentesi quadre:
>>> mia_lista[0]
"ciao"
>>> mia_lista[1]
10
>>> mia_lista[2]
True
Nota bene: l'indice parte da 0, non da 1, quindi per ottenere il primo elemento della lista dovremmo indicare [0]
.
>>> mia_lista[-1]
"ananas"
>>> mia_lista[-3]
True
Come hai notato è possibile fornire pure degli indici negativi, in questo caso la conta avverrà al contrario. Difatti indicando [-1]
otterremo l'ultimo elemento della lista, [-3]
il terzultimo e così via.
Accedere a più elementi per volta
Nel caso volessimo ottenere più elementi per volta, possiamo effettuare uno slice
(fetta) della lista indicando un intervallo di indici:
>>> mia_lista[2:4]
[True, 21]
Così facendo otteniamo una nuova lista con il 3 e il 4 elemento della lista precedente.(ricorda sempre che l'indice parte da 0, perciò per ottenere il terzo elemento ho inserito come indice 2
) .
Aggiungere elementi in una lista
Per aggiungere elementi alla fine di una lista possiamo utilizzare la funzione built-in append()
. In questo modo puoi aggiungere un solo elemento per volta, oppure di più utilizzando il metodo extend()
.
lista = [1, 2, 3, 4]
print(lista)
lista.append(5)
lista.append(6)
print(lista)
lista.extend([7, 8, 9, "a"])
print(lista)
#output 1
[1, 2, 3, 4]
#output 2
[1, 2, 3, 4, 5, 6]
#output 3
[1, 2, 3, 4, 5, 6, 7, 8, 9, "a"]
Il metodo append()
è principalmente utilizzato nei loop. Mettiamo ad esempio che vogliamo una lista dei soli numeri pari in un intervallo da 0 a 20:
numeri_pari = []
for numero in range(21):
if(numero % 2 == 0):
numeri_pari.append(numero)
print(numeri_pari)
#output
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Un altro modo per aggiungere elementi è utilizzando insert()
. Con questa funzione possiamo indicare la posizione in cui l'elemento sarà inserito.
lista_numeri = [44, 22, 13, 39]
print(lista_numeri)
lista_numeri.insert(1, 100)
print(lista_numeri)
#output 1
[44, 22, 13, 39]
#output 2
[44, 100, 22, 13, 39]
Rimuovere elementi da una lista
In Python è possibile eliminare elementi da una lista utilizzando il metodo built-in remove()
.
Con remove()
è possibile togliere un elemento per volta passandogli come parametro il valore dell'elemento che vogliamo rimuovere; Mentre con pop()
è possibile rimuovere sempre un elemento per volta, ma passando come parametro l'indice. Di default, chiamando il metodo pop()
senza parametri, verrà rimosso l'ultimo elemento della lista.
Ricorda: il metodo remove()
toglie solo la prima occorrenza dell'elemento specificato.
lista = ["banana", "mela", "banana", "ananas", "pera"]
print(lista)
lista.remove("banana")
print(lista)
lista.pop()
print(lista)
lista.pop(2)
print(lista)
#output 1
["banana", "mela", "banana", "ananas", "pera"]
#output 2
["mela", "banana", "ananas", "pera"]
#output 3
["mela", "banana", "ananas"]
#output 4
["mela", "banana"]