Saltar al contenido

python

List comprehensions en Python: Entendiendo qué son y cómo se usan.

¿Has oído hablar de las list comprehensions en Python? En este post aprenderás qué son y cómo se usan con diferentes ejemplos de aplicación.

List comprehensions en Python

Este post es de esos que me gustan y espero que a ti también. Y me gusta porque cumple el propósito del blog: que aprendas a usar Python como un auténtico pythonista. Si has llegado hasta aquí es porque has oído hablar de las list comprehensions en Python y quieres saber qué son. Sí, si quieres ser maestr@ pythoner@ debes entender y manejar a la perfección las list comprehensions.

Qué son las list comprehensions

Básicamente son una forma de crear listas de una manera elegante simplificando el código al máximo. Como lo oyes, Python define una estructura que permite crear listas de un modo un tanto especial. Te lo mostraré con un ejemplo:

numeros = [1, 2, 34, 86, 4, 5, 99, 890, 45]

pares = []
for num in numeros:
    if num % 2 == 0:
        pares.append(num)
print(pares)

El código anterior crea una lista de números pares a partir de una lista de números. Para este tipo de situaciones es ideal el uso de las list comprehensions. El código anterior se puede modificar de la siguiente manera con la sintaxis de las list comprehensions:

pares = [num for num in numeros if num % 2 == 0]
print(pares)

Cómo se usan las list comprehensions

La estructura de las list comprehensions es la siguiente:

[   expresion(i)   for i in list   if condición   ]

Es decir, entre corchetes definimos una expresión seguida de un bucle for al que opcionalmente le pueden seguir otros bucles for y/o una condición.

❗️El resultado siempre es una lista.

El código anterior es similar al siguiente:

nueva_lista = []
for i in list:
    if condición:
        nueva_lista.append(expresion(i))

Ejemplos de uso de list comprehensions

A continuación te muestro diferentes formas de aplicar lo aprendido aunque ejemplos hay miles:

Capitalizar las palabras de una lista

palabras = ['casa', 'perro', 'puerta', 'pizza']
cap = [palabra.title() for palabra in palabras]
print(cap)

Calcular los cuadrados del 0 al 9

cuadrados = [num**2 for num in range(10)]
print(cuadrados)

Calcular los cuadrados del 0 al 9 de los números pares

cuadrados_pares = [num**2 for num in range(10) if num % 2 == 0]
print(cuadrados_pares)

Listar los ficheros python del directorio actual que comienzan por ‘f’

import os
ficheros_python = [f for f in os.listdir('.') if f.endswith('.py') and f.startswith('f')]
print(ficheros_python)

Número, doble y cuadrado de los números del 0 al 9

num_doble_cuadrado = [(num, num*2, num**2) for num in range(10)]
print(num_doble_cuadrado)

Ejemplo de doble bucle for

saludos = ['hola', 'saludos', 'hi']
nombres = ['j2logo', 'antonio', 'vega']
frases = ['{} {}'.format(saludo.title(), nombre.title()) for saludo in saludos for nombre in nombres]
print(frases)

Conclusión

No se puede decir mucho más sobre el tema 😅 Solo espero que el post te sirva de inspiración para aplicarlo en tu código Python de aquí en adelante 😉

Si tienes cualquier duda al respecto o sobre otro tema, ya sabes que puedes ponerte en contacto conmigo a través de mis redes sociales o enviándome un email.

Newsletter EstrategIA

Programar con IA sin perder el control

Si te ha interesado este artículo, esto también te va a interesar. Cada dos martes te cuento qué funciona y qué no al construir software con agentes de IA, con ejemplos reales de mi software factory y los números de mis proyectos, sin maquillar.

9.277 desarrolladores y profesionales ya la leen martes quincenales

EstrategIA Próximo número · martes

Lo que recibes

  1. Qué funciona (y qué no) programando con agentes de IA
  2. Casos reales de MaIA y DGC: decisiones, errores y resultados
  3. Los números de mis proyectos, sin maquillar
  4. Una idea que puedes aplicar esa misma semana

Sin spam. Te das de baja con un clic.

j2logo

Sigue leyendo

requests - Hacer peticiones http en Python
python

Python requests. La librería para hacer peticiones http en Python

Web scraping con Python. Guía de inicio a BeautifulSoup
python

Web scraping con Python. Extraer datos de una web. Guía de inicio de Beautiful Soup

Tutorial de SQLAlchemy
python

SQLAlchemy. Tutorial de Python SQLAlchemy. Guía de inicio

Crear archivo excel en python con openpyxl
python

Crear archivo excel en Python con openpyxl