List Comprehensions en Python
Forma concisa, elegante y eficiente de procesar iterables en una sola línea de código.
¿Qué son las List Comprehensions?
Las comprensiones de listas son una forma concisa, elegante y eficiente de crear nuevas listas en Python a partir de otros iterables (como listas, rangos, tuplas o diccionarios), escribiendo la lógica en una sola línea de código.
En lugar de usar un bucle for tradicional con el método .append(), la comprensión de listas te permite hacer lo mismo con una sintaxis mucho más limpia.
Sintaxis Básica
[expresion for elemento in iterable if condicion]
- expresion: Lo que se va a guardar en la nueva lista (se le pueden aplicar transformaciones o cálculos).
- for elemento in iterable: El bucle
forconvencional que recorre los datos. - if condicion (opcional): Un filtro para incluir solo los elementos que cumplan una regla.
Ejemplo 1
A partir de una lista inicial, crear una lista final que exprese el cuadrado de cada número par de la lista inicial.
Forma tradicional (varias líneas)numeros = [1, 2, 3, 4, 5, 6]
resultado = []
for n in numeros:
if n % 2 == 0:
resultado.append(n ** 2)
print(resultado)
Forma elegante y optimizada (1 sola línea)
numeros = [1, 2, 3, 4, 5, 6]
resultado = [n ** 2 for n in numeros if n % 2 == 0]
print(resultado)
Ejemplo 2
Crear un programa que desde una lista devuelva solo las palabras de más de 4 letras.
Forma tradicional (varias líneas)palabras = ["sol", "python", "luz", "código", "mar"]
largas = []
for p in palabras:
if len(p) > 4:
largas.append(p)
print(largas) # Salida: ['python', 'código']
Forma elegante y optimizada (1 sola línea)
palabras = ["sol", "python", "luz", "código", "mar"]
largas = [p for p in palabras if len(p) > 4]
print(largas) # Salida: ['python', 'código']
