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.

Banner Pubblicitario

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.

Banner pubblicitario

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

2 – Le variabili in python

3 – Operatori aritmetici e di assegnazione in python

4 – Stringhe in python

5 – Casting in python

6 – Input e print in python

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili in python