Python’s List Comprehensions: Explicadas en 5 minutos



Al principio puede ser difícil entender estas instrucciones de Python, ya que no las vemos en otros lenguajes de programación, pero al terminar de leer este articulo, podrás comprenderlas y usarlas en tu código Python.

Examina este código de ejemplo, y no te preocupes, por que después explico paso a paso cómo es que funciona.

arr = [30,50,75]
porcentaje = [i / 100 for i in arr]
print(porcentaje)

Lo que busca solucionar el código anterior es que, dada una lista de valores expresados como porcentaje, debe generar una segunda lista de números, por ejemplo 50% = 0.5

Primero tenemos la lista [30,50,75], luego tenemos una variable llamada porcentaje en la cual vamos a guardar la nueva lista. Esta lista se genera con un ciclo que recorre otra lista.

En esta imagen, la parte que está sombreada en naranja, representa el ciclo for, crea una variable llamada i y por cada elemento en la lista arr, va a ejecutar la operación que está en la parte izquierda, es decir, i / 100, recuerda que i representa cada uno de los elementos en la lista arr.

List Comprehensions en Python

Y como todo está entre corchetes [ ], el resultado se entrega como una nueva lista en la variable porcentaje.

¿Es muy sencillo hasta ahora cierto?, bueno… Esta operación en listas, también tiene otros usos, básicamente puedes realizar cualquier operación en cada elemento de una lista.

Veamos este otro ejemplo, aquí tenemos 3 funciones, luego creamos una lista para almacenarlas y finalmente usamos un ciclo para ejecutar la lista de funciones.

def f1():
    print("Comprobando CPU....")

def f2():
    print("Comprobando RAM....")

def f3():
    print("Iniciando sistema....")

boot = [f1,f2,f3]

[f() for f in boot]

La salida del código anterior será algo como esto:

Ejemplo con List Comprehensions

Lo sé, hay formas más sencillas de ejecutar una secuencia de funciones, pero piensa que esto podría ayudarte a ejecutar dinámicamente una secuencia de funciones. Y lo más importante, estos ejemplos, son solo para ayudarte a entender los usos de List Comprehensions en Python, luego tú puedes decidir cómo escribir tu código y entender el código de otros.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *