0Pricing
Swift Academy · Lección

Iteración de colecciones con for-in

Recorra arrays, diccionarios y conjuntos con enumerated y zip.

Iteración de colecciones con for-in es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Bienvenido

El bucle `for-in` funciona con cualquier `Sequence`: arrays, diccionarios, conjuntos, cadenas y sus propios tipos personalizados. Veamos los patrones más útiles.

Iterar un array

```swift let fruits = ["apple", "banana", "cherry"] for fruit in fruits { print(fruit) } // apple, banana, cherry ``` Cada elemento se asigna a `fruit` durante una iteración.

enumerated(): índice y valor

Cuando necesite tanto el índice como el valor, use `.enumerated()`: ```swift for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") } // 0: apple // 1: banana // 2: cherry ``` `enumerated()` devuelve una secuencia de tuplas `(offset, element)`.

Iterar un diccionario

La iteración de un diccionario produce tuplas `(key, value)` en un orden no especificado: ```swift let scores = ["Alice": 95, "Bob": 87] for (name, score) in scores { print("\(name): \(score)") } ``` Ordene primero las claves si necesita un orden determinista.

Iterar un conjunto

Los conjuntos se iteran en un orden no especificado: ```swift let colors: Set = ["red", "green", "blue"] for color in colors.sorted() { print(color) } ``` Llame a `.sorted()` cuando necesite un orden alfabético o ascendente.

zip(): iteración en paralelo

Itere dos secuencias en paralelo con `zip()`: ```swift let names = ["Alice", "Bob", "Carol"] let scores = [95, 87, 92] for (name, score) in zip(names, scores) { print("\(name): \(score)") } ``` `zip` se detiene al llegar al final de la secuencia más corta.

Filtrado durante la iteración: cláusula where

Añada una cláusula `where` para omitir elementos directamente: ```swift for n in 1...20 where n % 3 == 0 { print(n) // 3, 6, 9, 12, 15, 18 } ``` Es más limpio que colocar un `if` dentro del cuerpo del bucle.

Iteración con índices

Acceda al rango de índices sin modificar con `.indices`: ```swift var arr = [10, 20, 30] for i in arr.indices { arr[i] *= 2 } // arr is now [20, 40, 60] ``` Úselo cuando necesite *mutar* elementos in situ.

Desestructuración de tuplas en for-in

Las secuencias de tuplas pueden desestructurarse directamente en el bucle: ```swift let points = [(1, 2), (3, 4), (5, 6)] for (x, y) in points { print("x=\(x), y=\(y)") } ``` Es claro y conciso: no necesita los subíndices `.0` y `.1`.

Secuencias lazy en bucles

Anteponer `.lazy` permite posponer el cálculo y evitar arrays intermedios: ```swift let total = (1...1_000_000) .lazy .filter { $0 % 2 == 0 } .prefix(5) .reduce(0, +) print(total) // 30 ``` `.lazy` resulta muy útil al encadenar operaciones sobre secuencias grandes.

Comprobación rápida

¿Qué método le proporciona tanto el índice como el valor al iterar un array?

Repaso

Puntos clave: • `for elem in collection` — iteración básica • `.enumerated()` — pares de índice y valor • `zip(a, b)` — iteración paralela de dos secuencias • `for x in seq where condition` — filtro en línea • `.indices` — úselo al mutar elementos • `.lazy` — pospone el trabajo en secuencias grandes Siguiente: `break`, `continue` y sentencias etiquetadas.

Preguntas frecuentes

¿La lección «Iteración de colecciones con for-in» es gratis?

Sí — el texto completo de «Iteración de colecciones con for-in» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Iteración de colecciones con for-in»?

Recorra arrays, diccionarios y conjuntos con enumerated y zip. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Iteración de colecciones con for-in»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Bucles for-in con rangos
  2. Bucles while y repeat-while
  3. Iteración de colecciones con for-in
  4. break, continue y sentencias etiquetadas
← Volver a Swift Academy