0Pricing
Swift Academy · Lezione

Iterazione delle collezioni con for-in

Iteri su array, dizionari e set con enumerated e zip.

Iterazione delle collezioni con for-in è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Benvenuto

Il ciclo `for-in` funziona con qualsiasi `Sequence`: array, dizionari, set, stringhe e tipi personalizzati. Vediamo gli schemi più utili.

Iterare su un array

```swift let fruits = ["apple", "banana", "cherry"] for fruit in fruits { print(fruit) } // apple, banana, cherry ``` A ogni iterazione, l'elemento viene associato a `fruit`.

enumerated(): indice e valore

Quando ha bisogno sia dell'indice sia del valore, usi `.enumerated()`: ```swift for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") } // 0: apple // 1: banana // 2: cherry ``` `enumerated()` restituisce una sequenza di tuple `(offset, element)`.

Iterare su un dizionario

L'iterazione di un dizionario produce tuple `(key, value)` in un ordine non specificato: ```swift let scores = ["Alice": 95, "Bob": 87] for (name, score) in scores { print("\(name): \(score)") } ``` Ordini prima le chiavi se ha bisogno di un ordine deterministico.

Iterare su un Set

I set vengono iterati in un ordine non specificato: ```swift let colors: Set = ["red", "green", "blue"] for color in colors.sorted() { print(color) } ``` Chiami `.sorted()` quando ha bisogno dell'ordine alfabetico o crescente.

zip(): iterazione parallela

Iteri due sequenze in parallelo con `zip()`: ```swift let names = ["Alice", "Bob", "Carol"] let scores = [95, 87, 92] for (name, score) in zip(names, scores) { print("\(name): \(score)") } ``` `zip` si arresta quando raggiunge la sequenza più corta.

Filtrare durante l'iterazione: clausola where

Aggiunga una clausola `where` per saltare gli elementi direttamente nel ciclo: ```swift for n in 1...20 where n % 3 == 0 { print(n) // 3, 6, 9, 12, 15, 18 } ``` Questa soluzione è più pulita che inserire un `if` nel corpo del ciclo.

Iterare con gli indici

Acceda all'intervallo grezzo degli indici con `.indices`: ```swift var arr = [10, 20, 30] for i in arr.indices { arr[i] *= 2 } // arr is now [20, 40, 60] ``` Lo utilizzi quando deve *modificare* gli elementi direttamente sul posto.

Destrutturare le tuple in for-in

Le sequenze di tuple possono essere destrutturate direttamente nel ciclo: ```swift let points = [(1, 2), (3, 4), (5, 6)] for (x, y) in points { print("x=\(x), y=\(y)") } ``` Chiaro e conciso: non sono necessarie le sottoscrizioni `.0` e `.1`.

Sequenze lazy nei cicli

Anteponi `.lazy` per rimandare il calcolo ed evitare array intermedi: ```swift let total = (1...1_000_000) .lazy .filter { $0 % 2 == 0 } .prefix(5) .reduce(0, +) print(total) // 30 ``` `.lazy` è potente quando si concatenano operazioni su sequenze grandi.

Verifica rapida

Quale metodo fornisce sia l'indice sia il valore durante l'iterazione di un array?

Riepilogo

Punti chiave: • `for elem in collection` — iterazione di base • `.enumerated()` — coppie indice + valore • `zip(a, b)` — iterazione parallela di due sequenze • `for x in seq where condition` — filtro inline • `.indices` — da usare quando si modificano gli elementi • `.lazy` — rimanda l'elaborazione sulle sequenze grandi Successivo: `break`, `continue` e istruzioni con etichette.

Domande Frequenti

La lezione «Iterazione delle collezioni con for-in» è gratuita?

Sì — il testo completo di «Iterazione delle collezioni con for-in» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Iterazione delle collezioni con for-in»?

Iteri su array, dizionari e set con enumerated e zip. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Iterazione delle collezioni con for-in»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Cicli for-in con intervalli
  2. Cicli while e repeat-while
  3. Iterazione delle collezioni con for-in
  4. break, continue e istruzioni con etichetta
← Torna a Swift Academy