In questa lezione useremo il for con le liste in Python, cioè un modo per scorrere gli elementi delle liste.
Abbiamo già affrontato il for in questa lezione senza l’uso delle liste: ciclo for in Python.
For e liste in Python – Primo metodo
Il primo metodo consiste nell’utilizzo della seguente sintassi:
for variabile in lista:
istruzioni
Stampare elementi della lista
Facciamo dunque un esempio.
Supponiamo di avere una lista di nome voto e di voler stampare gli elementi in essa contenuti.
voto=[6,9,4,5]
for i in voto:
print(‘Voto: ‘, i)
In questo caso i rappresenta il voto che di volta in volta, ad ogni iterazione, avanza verso destra, finché nella lista sono presenti degli elementi. Cioè, nella prima iterazione i vale 6 poi 9 e così via.
Somma degli elementi di una lista
Ipotizziamo adesso di voler sommare dei voti contenuti all’interno di una lista di nome voto.
Dunque inizializziamo a zero la variabile somma e a mano a mano andremo ad aggiungere tutti i numeri della lista voto.
Ecco di seguito il codice completo:
voto=[6,9,4,5]
somma=0
for i in voto:
print(‘Voto:’, i)
somma+=i
print(‘La somma è: ‘, somma)
Media degli elementi di una lista
Supponiamo adesso di voler calcolare la media degli elementi di una lista.
Per il calcolo della media ci occorre conoscere quanti elementi ci sono nella lista, ovvero la sua lunghezza. Dunque utilizziamo il metodo len.
Memorizziamo quindi la lunghezza della lista in una variabile di nome n e dopo calcoliamo la media dividendo la somma per n: somma/n.
Ecco di seguito il codice:
voto=[6,9,4,5]
n=len(voto) #lunghezza della lista voto
somma=0
for i in voto:
print(‘Voto: ‘, i)
somma+=i
print(‘La somma è: ‘, somma)
media=somma/n
print(‘La media è: ‘, media)
For e liste in Python – Secondo metodo
Esiste ancora un altro metodo per scorrere gli elementi di una lista e si ottiene seguendo questa sintassi:
for i in range(len(nome-lista)):
istruzioni
Somma degli elementi di una lista con il secondo metodo
Facciamo dunque un esempio pratico, realizzando un algoritmo che determini la somma dei soli valori maggiori o uguali a 6.
voto=[6,9,4,5]
somma=0
for i in range(len(voto)):
if voto[i]>=6:
somma+=voto[i]
print('Somma: ', somma)
In questo caso i rappresenta l’indice, l’elemento si rappresenta invece con voto[i].
Quindi voto[i] nella prima iterazione sta per voto[0] mentre nella seconda iterazione sta per voto[1] e così via.
Mostriamo anche la soluzione utilizzando il primo metodo:
voto=[6,9,4,5]
somma=0
for i in voto:
if i>=6:
somma+=i
print('Somma: ', somma)
While con le liste
Possiamo utilizzare anche il while, ma in questo tipo di ciclo non è indicato, dunque pubblico l’esempio solo per vedere la relazione con il for.
voto=[6,9,4,5]
i,somma=0,0
while i<len(voto):
if voto[i]>=6:
somma+=voto[i]
i+=1
print(‘Somma: ‘, somma)
Questi sono solo alcuni semplici esempi d’uso del for con le liste in Python, nelle prossime lezioni approfondiremo l’argomento.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
3 – Operatori aritmetici e di assegnazione in python
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili in python