Python - Iteradores
#14 Ejemplos de iteradores en Python:
#1. Iterador de lista:
lista = [1, 2, 3, 4, 5]
iterador = iter(lista)
print(next(iterador)) # 1
print(next(iterador)) # 2
print(next(iterador)) # 3
for elemento in iterador:
print(elemento)
#2. Iterador de tupla:
tupla = (1, 2, 3, 4, 5)
iterador = iter(tupla)
print(next(iterador)) # 1
print(next(iterador)) # 2
print(next(iterador)) # 3
for elemento in iterador:
print(elemento)
#3. Iterador de cadena de texto:
cadena = "Hola mundo"
iterador = iter(cadena)
print(next(iterador)) # H
print(next(iterador)) # o
print(next(iterador)) # l
for caracter in iterador:
print(caracter)
#4. Iterador de conjunto:
conjunto = {1, 2, 3, 4, 5}
iterador = iter(conjunto)
print(next(iterador)) # 1
print(next(iterador)) # 2
print(next(iterador)) # 3
for elemento in iterador:
print(elemento)
#5. Iterador de diccionario:
diccionario = {"a": 1, "b": 2, "c": 3}
iterador = iter(diccionario)
print(next(iterador)) # a
print(next(iterador)) # b
print(next(iterador)) # c
for clave in iterador:
print(clave, diccionario[clave])
#6. Iterador de archivo:
archivo = open("archivo.txt")
iterador = iter(archivo)
print(next(iterador)) # Primera línea
print(next(iterador)) # Segunda línea
print(next(iterador)) # Tercera línea
for linea in iterador:
print(linea)
archivo.close()
#7. Iterador de función:
def mi_funcion():
yield 1
yield 2
yield 3
iterador = mi_funcion()
print(next(iterador)) # 1
print(next(iterador)) # 2
print(next(iterador)) # 3
for linea in iterador:
print(linea)
#8. Iterador de rango:
rango = range(1, 6)
iterador = iter(rango)
print(next(iterador)) # 1
print(next(iterador)) # 2
print(next(iterador)) # 3
for numero in iterador:
print(numero)
#9. Iterador de enumerate:
lista = ["a", "b", "c"]
iterador = enumerate(lista)
print(next(iterador)) # (0, "a")
print(next(iterador)) # (1, "b")
print(next(iterador)) # (2, "c")
for indice, valor in iterador:
print(indice, valor)
#10. Iterador de zip:
lista1 = [1, 2, 3]
lista2 = ["a", "b", "c"]
iterador = zip(lista1, lista2)
print(next(iterador)) # (1, "a")
print(next(iterador)) # (2, "b")
print(next(iterador)) # (3, "c")
for elemento in iterador:
print(elemento)
#11. Iterador de reversed:
lista = [1, 2, 3]
iterador = reversed(lista)
print(next(iterador)) # 3
print(next(iterador)) # 2
print(next(iterador)) # 1
for elemento in iterador:
print(elemento)
#12. Iterador de sorted:
lista = [3, 1, 2]
iterador = sorted(lista)
print(next(iterador)) # 1
print(next(iterador)) # 2
print(next(iterador)) # 3
for elemento in iterador:
print(elemento)
#13. Iterador de filter:
lista = [1, 2, 3, 4, 5]
iterador = filter(lambda x: x % 2 == 0, lista)
print(next(iterador)) # 2
print(next(iterador)) # 4
for elemento in iterador:
print(elemento)
#14. Iterador de map:
lista = [1, 2, 3]
iterador = map(lambda x: x * 2, lista)
#iterador = map(lambda x: x * x, lista)
print(next(iterador)) # 2
print(next(iterador)) # 4
print(next(iterador)) # 6
for elemento in iterador:
print(elemento)