Viaggi       https://it.bhlyqj.com

Capire le destinazioni cicli FOR in programmazione

Destinazione Ciclo FOR: La Sorgente di Iterazione Spiegata

In programmazione, una destinazione FOR (più comunemente chiamata iterabile o sorgente iterazione) definisce la raccolta di valori che una variabile ciclo assumerà sequenzialmente durante ogni iterazione di un ciclo FOR.

Sintassi Generale

for identifier in destination: # comandi corpo ciclo 

Dove:

  • identifier — variabile ciclo (assume ogni valore da destination)
  • destination — qualsiasi oggetto iterabile (la destinazione FOR)
  • corpo ciclo — comandi eseguiti per ogni valore

Tipi Comuni Destinazione FOR (Esempi Python)

1. Iterazione Lista

numbers = [1, 2, 3, 4] for number in numbers: print(number) # Output: 1, 2, 3, 4 (ciascuno nuova riga) 

2. Oggetto Range (Sequenze Numeriche)

for number in range(5): print(number) # Output: 0, 1, 2, 3, 4 

3. Iterazione Stringa (Carattere per Carattere)

word = "Hello" for letter in word: print(letter) # Output: H, e, l, l, o 

4. Oggetto File (Riga per Riga)

with open("myfile.txt", "r") as file: for line in file: print(line.strip()) 

5. Iterazione Dizionario

ages = {"Alice": 30, "Bob": 25} for name, age in ages.items(): print(f"{name} is {age} years old") 

6. Iterazione Set

unique_numbers = {1, 2, 3, 2, 1} for num in unique_numbers: print(num) # Output: 1, 2, 3 (ordine non garantito) 

Concetti Chiave

  • Protocollo Iterable: Qualsiasi oggetto implementando __iter__() o __getitem__() può essere destinazione FOR
  • Valutazione Pigra: Generatori e oggetti range calcolano valori on-demand, risparmiando memoria
  • Unpacking: Identificatori multipli possono spacchettare elementi tupla: for x, y in points:
  • Clausola Else: Python's for-else esegue blocco else se ciclo completa senza break

Variazioni Linguaggio

Mentre sintassi differisce, il concetto esiste cross-linguaggi:

  • JavaScript: for (const item of iterable)
  • Java: for (Type item : collection)
  • C++: Range-based for (auto& item : container)
  • C#: foreach (var item in collection)