Cómo usar bucles con listas en Python

Si ha utilizado matrices en otros lenguajes de programación, puede encontrar algo similar en forma de listas en Python. La única diferencia es que las listas de Python tienen un beneficio adicional: el tamaño dinámico. Al igual que las matrices, puede utilizarlas para almacenar más de un elemento.

¿Por qué se requiere bucle?

Mientras trabaja con listas, habrá ocasiones en las que deberá realizar la misma operación en cada entrada de la lista.

Por ejemplo, es posible que desee tomar la media de todas las entradas de una lista. En una nota similar, ¿qué sucede si ha almacenado blogs en una lista y le gustaría buscar su título?

Todos estos escenarios tienen el mismo problema: implican repetición. Para abordar estas preocupaciones, simplemente puede usar bucles con listas en Python.

Veamos cómo los bucles facilitan la realización de operaciones en varios elementos de una lista con un ejemplo.

Comprensión de los bucles con listas mediante un ejemplo

Suponga que desea imprimir una lista de nadadores estadounidenses del año de 2016 a 2019 (no se otorgó a nadie en 2020 debido al COVID-19). Sin bucles, tendrá que recuperar cada nombre uno por uno de la lista. Sin embargo, hay dos problemas importantes con este método:

  1. Imprimir cada nombre es repetitivo y requiere mucho tiempo cuando se trabaja con una lista larga.
  2. La modificación del código para cada instancia requiere un esfuerzo considerable.

Relacionado Cómo usar un bucle while en Python

Afortunadamente, un bucle for puede abordar ambos problemas de manera eficiente. Considere el siguiente código:

 
swimmers = [ 'phelps' , 'dressel' , 'kalisz' , 'dressel' ]
for swimmer in swimmers:
print(swimmer)

Analicemos este código en tres pasos:

  1. Usted define una lista de nadadores y almacena los nombres de los ganadores en ella.
  2. Usted define un bucle for, saca un nombre de la lista de nadadores uno por uno y lo asigna a la variable nadador .
  3. Le pide a Python que imprima un nombre que se le asigna al nadador en esa iteración específica.

Ahora, Python sigue reiterando los días 2 y 3 pasos rd para imprimir todos los nadadores en su lista. Para su comodidad, puede leerlo así: "Para cada nadador en mi lista de nadadores, muestre el nombre del nadador". Aquí está el resultado:

Un breve vistazo a los bucles

El tema de los bucles es crucial porque es uno de los enfoques centrales para automatizar tareas repetitivas. Por ejemplo, en nuestro archivo swimmers.py , Python procesa la primera línea del ciclo:

 
for swimmer in swimmers:

Aquí, le dice a Python que busque el primer valor de su lista, nadadores. A continuación, lo asigna a su nadador variable definido. Dado que el primer valor es 'phelps', se aplica la siguiente declaración:

 
print (swimmer)

Es importante comprender que Python está imprimiendo el valor más actual de nadador en esta etapa , que resulta ser 'phelps'. Como la lista consta de varios valores, Python vuelve a la primera línea del ciclo:

 
for swimmer in swimmers:

Esta vez, Python buscará el siguiente nombre de su lista, 'dressel' y lo asignará a la variable nadador. Nuevamente, Python ejecutará el siguiente fragmento de código:

 
print (swimmer)

Ahora, Python imprime el valor más actual de nadador , que resulta ser 'dressel'. De manera similar, Python reiterará el bucle e imprimirá 'kalisz' y 'dressel'.

Después de imprimir el último valor, Python vuelve a la primera línea del ciclo y, dado que no hay más entradas, pasará a la siguiente línea. En este programa, no hay nada después del ciclo for, por lo que finaliza.

A medida que continúe recorriendo las listas, tenga en cuenta que cualquiera que sea el paso que defina en su código, se repetirá una vez para cada entrada de la lista, independientemente de la longitud de la lista. Eso significa que incluso si agrega mil millones de entradas a su lista, Python realizará su acción definida mil millones de veces.

Otra cosa a tener en cuenta es que cuando define sus bucles for, puede elegir cualquier nombre para la variable temporal asignada a cada entrada en la lista. Sin embargo, se recomienda elegir un nombre que se adapte a su contexto para una mejor legibilidad del código.

Por ejemplo, aquí hay un enfoque eficaz para recorrer una lista de productos, aves y actores:

 
for product in products:
for bird in birds:
for actor in actors:

Ahora que tiene una comprensión básica del bucle for, manipula cada elemento de su lista. Volviendo al ejemplo del nadador, puede felicitar a cada nadador por sus habilidades escribiendo el siguiente código:

 
swimmers = ['phelps', 'dressel', 'kalisz', 'dressel']
for swimmer in swimmers:
print(f"{swimmer.title()}, your swimming skills are terrific!")

Este código funciona exactamente como el anterior; la única diferencia es que crea un mensaje para cada nadador llamando sus nombres. Como antes, el bucle se ejecuta nuevamente para cada nadador e imprime una declaración para cada uno de ellos. Como se esperaba, la salida generada se muestra a continuación:

También puede escribir varias declaraciones en el ciclo for. Tenga en cuenta que el ciclo abarca cada línea con sangría que viene después de nadador en nadadores, y Python ejecuta cada línea una vez para cada valor de lista. Por tanto, existen infinitas posibilidades para todas las entradas de la lista.

Por ejemplo, puede escribir otra declaración de impresión en el ejemplo anterior.

 
swimmers = ['phelps', 'dressel', 'kalisz', 'dressel']
for swimmer in swimmers:
print(f"{swimmer.title()}, your swimming skills are terrific!")
print(f"Looking forward to see your in the next competition, {swimmer.title()}.
")

Como ha utilizado sangría para ambas declaraciones, Python ejecuta cada una de ellas para cada entrada de la lista.

Después de completar el ciclo, puede resumir su salida y luego pasar a otras partes de su programa. Esta parte posterior al bucle no debe sangrar, por lo que no se repite.

Ahora puede recorrer las listas fácilmente

En este artículo, aprendió por qué se necesitan los bucles, cómo usar los bucles con listas y cómo Python procesa las entradas en una lista cuando tiene sangría en un bucle. Ahora puede usar listas y bucles para escribir código más complejo y crear programas de mayor calidad.

Para poner a prueba sus conocimientos, aquí hay un ejercicio simple: cree una lista de 10 números e imprima solo los números que sean divisibles por cinco.