11  Comprehension List

Una Comprehension List es una forma concisa de crear listas en Python, pues permite generar listas nuevas transformando cada elemento de una colección existente o creando elementos a partir de un rango. La sintaxis es compacta y directa, lo que facilita la comprensión del propósito de tu código de un vistazo.

Estructura básica de una Comprehension List:

[expresión for elemento in iterable if condición]

Que se traduce a: “Crea una nueva lista evaluando nueva_expresión para cada elemento en el iterable.”

Ejemplos:

Dada una lista de números [1, 2, 3, 4, 5], crea una nueva lista que contenga el doble de cada número usando una List Comprehension.

numbers = [1, 2, 3, 4, 5]
squares = [x ** 2 for x in numbers]
print(f"Cuadrados: {squares}")
Cuadrados: [1, 4, 9, 16, 25]

Tienes una lista de palabras [“sol”, “mar”, “montaña”, “rio”, “estrella”] y quieres obtener una nueva lista con las palabras que tengan más de 3 letras y estén en mayúsculas.

palabras = ["sol", "mar", "montaña", "rio", "estrella"]
palabras_mod = [x.upper() for x in palabras if len(x) > 3]
print(f"Las palabras moficadas son: {palabras_mod}")
Las palabras moficadas son: ['MONTAÑA', 'ESTRELLA']

Dada una lista de listas (una matriz), calcula la matriz traspuesta utilizando una List Comprehension anidada.

matriz = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
transpuesta_comprehension = [[fila[i] for fila in matriz] for i in range(len(matriz[0]))]
print("Transpuesta con List Comprehension:", transpuesta_comprehension)
Transpuesta con List Comprehension: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]