Python 3 – Ciclo for

En Python el bucle o ciclo for es diferente a lenguajes como C o Java. A continuación el primer ejemplo:

» Más ejemplos de Python

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# decodigo.com
for i in range(5, 10):
print(i)
# decodigo.com for i in range(5, 10): print(i)
# decodigo.com

for i in range(5, 10):
    print(i)

Al ejecutar el código obtenemos este resultado:

Ciclo for en Python

Usando la función range(), se itera sobre una secuencia que va desde 5 hasta 9 (no se incluye el 10).

Una forma de simplificar el uso de range() es usando sólo el valor máximo:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# decodigo.com
for i in range(10):
print(i)
# decodigo.com for i in range(10): print(i)
# decodigo.com
for i in range(10):
    print(i)

La función range() devuelve valores que van desde 0 hasta 10, no fue necesario especificar que comienza desde 0.

Ciclo for en Python

El ciclo for con la función range(), también permite iterar sobre un rango no sólo haciendo incrementos en 1, también se puede hacer el incremento especificando un valor como se muestra a continuación:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# decodigo.com
for i in range(0, 10, 2):
print(i)
print()
for i in range(0, -10, -2):
print(i)
# decodigo.com for i in range(0, 10, 2): print(i) print() for i in range(0, -10, -2): print(i)
# decodigo.com
for i in range(0, 10, 2):
    print(i)

print()

for i in range(0, -10, -2):
    print(i)

El resultado son dos secuencias de valores donde en cada iteración el incremento es de 2 y -2.

Ciclo for en Python



Iterar sobre una lista en Python

Otra forma del ciclo for en Python es la que permite iterar sobre los elementos de una tupla o lista.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# decodigo.com
for i in (3, 5, 3, 6, 100):
print(i)
# decodigo.com for i in (3, 5, 3, 6, 100): print(i)
# decodigo.com

for i in (3, 5, 3, 6, 100):
    print(i)

Este sería el resultado:

Ciclo for en Python

Una variante más del for en Python que puede ser útil según sea el caso es una que permite ejecutar un bloque de código una vez que se ha terminado las iteraciones sobre una lista, el ciclo for-else.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# decodigo.com
for i in (3, 5, 3, 6, 100):
print(i)
else:
print("Finalizado")
# decodigo.com for i in (3, 5, 3, 6, 100): print(i) else: print("Finalizado")
# decodigo.com
for i in (3, 5, 3, 6, 100):
    print(i)
else:
    print("Finalizado")

Al final de las iteraciones del ciclo for, se imprimirá «Finalizado«.

Nota: Las capturas de estos ejemplos se editan y ejecutan en PyCharm Community.

Más información en inglés: https://geekole.com/for-loop-and-range-in-python/