Voy a hacer una explicación sencilla de lo que es un bucle con múltiples iteradores en Python, y como funciona. Para ello, primero te describiré los pasos de un bucle con un iterador normal, y luego añadiremos a ese ejemplo, un segundo iterador.
Además, te mostraré después como utilizar más iteradores a la vez. Al final, se aplica de la misma forma.
Bucle con un iterador
Primero definimos una tupla de colores o de lo que sea, pero que tenga posiciones simples, no le añadas elementos compuestos como otra tupla o una lista.
colores = ("rojo", "azul", "verde", "amarillo")
Ahora creamos un bucle for para iterar sobre la tupla:
for color in colores: print(color)
El bucle for itera con el iterador «color», desde la posición 0 a la última de la tupla.
Resultado en la consola
rojo
azul
verde
amarillo
Bucle con doble iterador en Python
Para hacer una prueba con un doble iterador, definimos una tupla de tuplas (tupla con tuplas dentro):
datos = (("manzana", "rojo"), ("pera", "verde"), ("plátano", "amarillo"))
También podría ser, por ejemplo, una lista de listas. No tiene por qué ser una tupla de tuplas.
Con un bucle for iteraremos las tuplas internas:
for fruta, color in datos: print(f"{fruta} - {color}")
Resultado en la consola
manzana – rojo
pera – verde
plátano – amarillo
En este ejemplo, el primer iterador («fruta») obtiene cada ciclo el valor de la primera posición de cada tupla. El segundo iterador («color»), el valor de cada segunda posición de cada tupla.
Bucles con múltiples iteradores en Python
Python es maravilloso. Si quieres iterar iterables con iterables dentro, con más de dos posiciones, lo puedes hacer.
En el siguiente ejemplo he añadido un valor más a cada tupla. Ahora necesitamos 3 iteradores en el bucle:
datos = (("manzana", "rojo", "podrida"), ("pera", "verde", "madura"), ("plátano", "amarillo", "verde")) for fruta, color, estado in datos: print(f"{fruta} - {color} - {estado}")
Resultado en la consola
manzana – rojo – podrida
pera – verde – madura
plátano – amarillo – verde
Pues esto mismo lo puedes ir aplicando a elementos iterables con cualquier número de elementos. Si tienes 5, especifica 5 iteradores, así de fácil.
Espero que esto te sea de utilidad, y que si no entendías los dobles (o más) iteradores de Python, que ahora lo hagas.
No te pierdas este artículo sobre Python: Leer archivos de texto TXT con Python