Día 11: Iteradores y generadores

Bienvenida
¡Bienvenido al Día 11 de tu viaje para dominar Python! 🎉
Hoy es un día emocionante porque aprenderás sobre iteradores y generadores, herramientas que te permiten manejar secuencias de datos de manera eficiente. Los iteradores te ayudarán a recorrer colecciones, mientras que los generadores te permitirán crear secuencias que generan valores bajo demanda, ahorrando memoria y tiempo.
Aplicaciones comunes de iteradores y generadores
- Iteración: Recorrer una secuencia de datos.
- Generación: Crear secuencias de datos bajo demanda.
Iteradores y generadores en Python
Iteradores
Los iteradores son objetos que permiten recorrer secuencias de datos. Puedes crearlos usando la sintaxis for
o la función iter()
.
Ejemplo de iterador
numeros = [1, 2, 3, 4, 5]
iterador = iter(numeros) # Convierte la lista en un iterador.
print(next(iterador)) # Imprime: 1
print(next(iterador)) # Imprime: 2
print(next(iterador)) # Imprime: 3
Iterador infinito
def numeros_infinitos():
num = 1
while True:
yield num
num += 1
iterador = numeros_infinitos()
print(next(iterador)) # Imprime: 1
print(next(iterador)) # Imprime: 2
print(next(iterador)) # Imprime: 3
Generadores
Los generadores son funciones que devuelven un iterador. Puedes crearlos usando la sintaxis def
con la palabra clave yield
en lugar de return
.
Ejemplo de generador
def numeros_pares():
for num in range(2, 11, 2):
yield num
iterador = numeros_pares()
print(next(iterador)) # Imprime: 2
print(next(iterador)) # Imprime: 4
print(next(iterador)) # Imprime: 6
Comprensión de listas y generadores
Los generadores pueden ser usados en comprensiones de listas para crear listas de manera eficiente.
Ejemplo de comprensión de listas
numeros = [1, 2, 3, 4, 5]
cuadrados = [num ** 2 for num in numeros]
print(cuadrados) # Imprime: [1, 4, 9, 16, 25]
¡Felicidades! Has completado el Día 11. Ahora sabes cómo usar iteradores y generadores para manejar secuencias de datos de manera eficiente. ¡Nos vemos en el Día 12! 🚀✨