I loop sono una delle principali strutture di controllo in qualsiasi linguaggio di programmazione, Python incluso.

In quest'articolo, troverai degli esempi dell'utilizzo dei loop for abbinati alla funzione di Python range().

Loop for in Python

I loop for ripetono una porzione di codice per un un set di variabili.

Come spiegato nella documentazione Python, i loop for in Python funzionano in modo leggermente diverso rispetto a linguaggi come JavaScript o C.

Un loop for assegna ad una variabile ogni valore contenuto in un dato iterabile (lista, array, stringa ecc.) e ripete il codice nel corpo del loop per ogni valore assunto dalla variabile.

Nell'esempio seguente, utilizziamo un loop for per ottenere tutti i numeri presenti nel nostro array:

# Esempio loop for
for i in [1, 2, 3, 4]:
    print(i, end=", ") # restituiti: 1, 2, 3, 4,

Possiamo includere una logica più complessa nel corpo del loop, ad esempio, un calcolo basato sul valore assunto dalla nostra variabile:

for i in [1, 3, 5, 7, 9]:
    x = i**2 - (i-1)*(i+1)
    print(x, end=", ") # restituiti: 1, 1, 1, 1, 1, 

Quando i valori nell'array di un loop for sono sequenziali, possiamo utilizzare la funzione range() invece di scriverne esplicitamente il contenuto.

La funzione range() in Python

La funzione range() fornisce una sequenza di interi basata sul suo argomento (informazioni aggiuntive a riguardo sono disponibili nella documentazione Python).

range(stop)
range(start, stop[, step])

L'argomento start è il primo valore della funzione. Se la funzione range() viene chiamata con un solo argomento, Python assume che start = 0.

L'argomento stop costituisce l'estremo superiore dell'intervallo, il quale non è incluso nel range.

Nel seguente esempio, abbiamo un intervallo contenente gli interi tra 0 (valore di default) e 5 (escluso).

# Esempio con un argomento
for i in range(5):
    print(i, end=", ") # restituiti: 0, 1, 2, 3, 4, 

Nell'esempio qui sotto, abbiamo esplicitamente assegnato un valore al primo argomento (start = -1), includendo ancora gli interi minori di 5 (escluso).

# Esempio con due argomenti
for i in range(-1, 5):
    print(i, end=", ") # restituiti: -1, 0, 1, 2, 3, 4, 

Il valore opzionale step controlla l'incremento tra i valori compresi nel range (il valore di default è step = 1).

Nel nostro ultimo esempio, utilizziamo un intervallo compreso tra -1 e 5 (escluso) e step = 2.

# Esempio con tre argomenti
for i in range(-1, 5, 2):
    print(i, end=", ") # restituiti: -1, 1, 3, 

In sintesi

In quest'articolo, abbiamo visto come utilizzare i loop for in Python abbinati alla funzione range().

I loop for ripetono un blocco di codice per tutti i valori contenuti in una lista, array o stringa.

Possiamo utilizzare la funzione range() per semplificare la scrittura di un loop for, specificando solo l'estremo superiore dell'intervallo come unico argomento della funzione (stop) oppure modificandone anche il valore di partenza (start) e l'incremento (step) tra gli interi compresi nel range.