9  Iteraciones y bucles

Aprender a automatizar el proceso de iteración en listas utilizando bucles y controles de iteración es fundamental para optimizar el manejo de datos en Python.

9.1 For

Un bucle for en Python te permite recorrer secuencias (listas, tuplas, cadenas, rangos, etc.) elemento a elemento, ejecutando un bloque de código para cada uno. Su sintaxis básica es:

for elemento in iterable:
    # bloque de código que usa “elemento”

Sus características son:

  • Iterable: cualquier objeto que implemente el protocolo de iteración (list, tuple, str, dict, range, etc.).

  • Elemento: variable que toma, en cada iteración, el siguiente valor del iterable.

  • El bloque indentado se ejecuta una vez por cada elemento.

Ejemplo con una lista

# Lista
numbers = [1, 2, 3, 4, 5, 6]

# Imprimir el valor de i
for i in numbers:
    print(f"El valor de i es: {i}")
El valor de i es: 1
El valor de i es: 2
El valor de i es: 3
El valor de i es: 4
El valor de i es: 5
El valor de i es: 6

9.2 Range

ELa función range permite iterar un conjunto de números fijos para producir índices o repeticiones controladas.

Note

Es importante mencionar que range omite el último número solicitado.

Ejemplos:

# Imprimit del 0 al 9, omitiendo el 10
for i in range(10):
    print(i)
0
1
2
3
4
5
6
7
8
9
# Imprime del 3 al 9
for i in range(3, 10):
    print(i)  
3
4
5
6
7
8
9
# range(start, stop, step)
# Imprime los pares entre 2 y 10 (excluyendo 10)
for n in range(2, 10, 2):
    print(n)
2
4
6
8

9.3 Condicionales dentro de bucles

También podemos utilizar condicionales ìf, else y elif al momento de usar los bucles for.

Un ejemplo sencillo sería:

frutas = ["manzana", "pera", "uva", "naranja", "tomate"]
for fruta in frutas:
    print(fruta)
    if fruta == "naranja":
        print("naranja encontrada")
manzana
pera
uva
naranja
naranja encontrada
tomate

En tanto, un ejemplo más complejo sería:

  1. El for itera i desde 0 hasta 9.

  2. if i % 2 == 0 comprueba si es par.

  3. Si no es par, elif i % 3 == 0 comprueba si es múltiplo de 3.

  4. else cubre todos los demás casos.

# Recorremos del 0 al 9
for i in range(10):
    if i % 2 == 0:
        print(f"{i} es par")
    elif i % 3 == 0:
        print(f"{i} es múltiplo de 3 pero no par")
    else:
        print(f"{i} es impar y no múltiplo de 3")
0 es par
1 es impar y no múltiplo de 3
2 es par
3 es múltiplo de 3 pero no par
4 es par
5 es impar y no múltiplo de 3
6 es par
7 es impar y no múltiplo de 3
8 es par
9 es múltiplo de 3 pero no par

9.4 while

La instrucción while permite ejecutar un bloque de código de forma repetida mientras una condición booleana sea True. Es útil cuando no sabemos de antemano cuántas iteraciones haremos.

En este ejemplo estamos diciendo “voy a imprimir el contar cuando sea menor a 5”

# Ejemplo: contar de 0 a 4
contador = 0
while contador < 5:
    print(f"Valor de contador: {contador}")
    contador += 1
Valor de contador: 0
Valor de contador: 1
Valor de contador: 2
Valor de contador: 3
Valor de contador: 4

9.5 break y continue

La palabra clave break se utiliza para salir del bucle prematuramente, mientras que continue omite la iteración actual y pasa a la siguiente:

for i in numbers:
    if i == 3:
        break
    print(i)  # Termina al llegar a 3
1
2
for i in numbers:
    if i == 3:
        continue
    print(i)  # Omite el 3
1
2
4
5
6