Cómo usar For Loop en Python

Como cualquier otro lenguaje de programación, el bucle en Python es una excelente manera de evitar escribir código repetitivo. Sin embargo, a diferencia del bucle while de Python, el bucle for es una declaración de flujo de control definitiva que le otorga más autoridad sobre cada elemento de una serie.

Tanto si eres un principiante de Python como si ya tienes algo de experiencia con él, tener un conocimiento sólido de su ciclo for es la clave para resolver problemas relacionados con las matrices. Aquí, echamos un vistazo a cómo funciona el bucle for de Python y algunos ejemplos de cómo puede usarlo para resolver desafíos de codificación.

Cómo funcionan los bucles For en Python

El bucle for de Python funciona iterando a través de la secuencia de una matriz. En esencia, es útil cuando se trata de secuencias como cadenas, listas, tuplas, diccionarios o conjuntos. Una palabra clave in generalmente sigue a un bucle for en Python.

Un bucle for tiene características similares en todos los lenguajes de programación. Por ejemplo, si bien existen diferencias de sintaxis, la característica del bucle for de Java es similar a cómo funciona el bucle for de Python.

La sintaxis general de un bucle for de Python se ve así:

 for new_variable in parent_variable:
execute some statements

Como se dijo anteriormente, a diferencia de un bucle while, el bucle for es más potente, ya que ofrece un mayor control en un flujo.

Para tener una mejor comprensión, un bucle for normalmente se parece a esta declaración de ejemplo: "para cada estudiante masculino que conozca en una clase, escriba uno, de lo contrario, escriba solo es una clase de mujeres".

Esa declaración es una instrucción simple que le dice que siga escribiendo una por cada estudiante masculino que encuentre en una clase en particular. Es un bucle continuo. Sin embargo, para iniciar el ciclo for en ese caso, debe encontrar un estudiante masculino. Si no es así, escriba la instrucción else.

Si la declaración anterior no tiene una condición else , entonces no escribiría nada. Eso significa que es una matriz vacía.

Cómo usar el bucle for de Python: ejemplos prácticos

Ahora echemos un vistazo a algunos ejemplos prácticos de cómo usar un bucle for en Python.

El siguiente fragmento de código muestra cada uno de los elementos de una lista:

 items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
print(i)

También puede modificar el código anterior para generar cualquier elemento que tenga la letra "a":

 items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
if "a" in i:
print(i)

Un bucle for en Python también toma una instrucción else directa:

 b=[2, 3, 5, 6]
for i in b:
print(i)
else:
print("Loop has ended")

También puede usar una declaración de interrupción para alterar el flujo de un bucle for :

 b=[2, 3, 5, 6]
for i in b:
if i>3:
break
print(i)

También puede usar la palabra clave continue con un bucle for :

 b=[2, 3, 5, 6]
for i in b:
if i>3:
continue
print(i)

Usando un bucle for con list y literales de cadena en Python

Ahora eche un vistazo al código a continuación para generar todos los enteros positivos entre 1 y 100. Para hacer esto, primero cree una lista de números entre 1 y 100 usando la función de rango incorporada de Python:

 for x in range(1, 101):
print(x)

Puede modificar ese bloque de código introduciendo una declaración condicional para generar también todos los números impares entre 1 y 100:

 for x in range(1, 101):
if x%2==1:
print(x)

Sin embargo, también puede crear una tabla de multiplicar "2 por salida" de la salida del código anterior. Para lograr esto, solo necesita agregar algunas declaraciones más como esta:

 for x in range(1, 101):
if x%2==1:
print(x, "x", 2, "=", x * 2)

Ahora que ha visto cómo funciona un bucle for con una lista de enteros. Echemos un vistazo a cómo podemos usar un bucle for con cadenas.

El siguiente código devuelve una secuencia de cada cadena en una oración:

 a = "How to use a for loop in Python"
for i in a:
print(i)

También podemos contar el número de cadenas (incluidos los espacios) en la variable a usando un bucle for :

 a = ["How to use a for loop in Python"]
for i in a:
print(i.count(''))
Output: 32

Sin embargo, también puede colocar un bucle for en una variable separada y obtener un resultado similar reescribiendo el código anterior de esta manera:

 a=["How to use a for loop in Python"]
c=[b.count('') for b in a]
print(c)
Output: [32]

Nota: Para obtener el recuento de caracteres, asegúrese de que no haya espacios entre las comillas en el paréntesis que sigue a la palabra clave count .

También puede modificar cada uno de los dos últimos fragmentos de código anteriores para crear un contador de palabras simple usando un bucle for . Todo lo que necesita hacer en este caso es insertar un solo espacio entre cada comilla entre paréntesis:

 a=["How to use a for loop in Python"]
for i in a:
print(i.count(' ') + 1)
Output: 8

Como lo hizo para el recuento de caracteres, también puede reescribir el código de recuento de palabras anterior colocando el bucle for en una variable como esta:

 a = ["How to use a for loop in Python"]
c=[b.count(' ') + 1 for b in a]
print(c)
Output: [8]

Preste mucha atención al espacio simple que está ahora entre las comillas entre paréntesis.

Relacionado: Cómo crear y reutilizar su propio módulo en Python

Usar un bucle For de Python con una matriz

También puede usar un bucle for para obtener un elemento particular de una matriz.

Suponga que tiene una matriz de ovejas con valores de "Sí" para animales "sanos" y "No" para ovejas "no saludables". Entonces, cada oveja tiene un nombre único y desea poner en cuarentena a todas las enfermas.

Puede usar un bucle for para generar todas las ovejas enfermas. Para ver qué tan útil es un bucle for en ese caso, el siguiente código muestra el nombre de todas las ovejas enfermas de la matriz:

 array = [{"name":"Sheep1", "healthy":"Yes"},
{"name":"Sheep3", "healthy":"No"},
{"name":"Sheep4", "healthy":"Yes"},
{"name":"Sheep5", "healthy":"Yes"},
{"name":"Sheep8", "healthy":"No"},
{"name":"Sheep7", "healthy":"No"},
{"name":"Sheep9", "healthy":"No"}
]
for sheeps in array:
if sheeps["healthy"]=="No":
print("Quarantine", sheeps["name"])

Uso de bucle for anidado en Python

Un bucle for anidado es útil cuando desea generar cada elemento en una matriz compleja o anidada. Funciona colocando un bucle dentro de otro bucle. El siguiente código de ejemplo genera cada uno de los elementos de la lista anidada. Sin embargo, solo genera las claves del diccionario:

 nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}]
for dict in nested_list:
for i in dict:
print(i)

Una mejor comprensión de la lista y las matrices de Python es útil cuando se trata de un bucle for anidado.

Para bucles o bucles while, ¿cuál es mejor?

Dependiendo del problema que nos ocupa, para cada uno de los bucles y al mismo tiempo tiene su uso en caso de Python. A pesar de un bucle for es más común, que no tiene dominio del bucle while menos importante.

Mientras que una de las ofertas de bucle soluciones más generales a través de los lenguajes de programación, colocándolo por encima del bucle while es errónea. Siempre es mejor considerar cualquiera de ellos para resolver problemas específicos, en lugar de creer que uno es más útil que el otro. Además, como programador de Python, no puede prescindir de ninguno de ellos.