Comprensión de listas
Las construcciones de comprensión de listas en Python son una forma concisa y poderosa de crear nuevas listas a partir de secuencias existentes (como listas, tuplas, cadenas, etc.) o aplicar transformaciones a elementos de una secuencia de manera más legible. Estas construcciones se basan en una sintaxis simple y siguen la estructura general:
[nuevo_elemento for elemento in secuencia if condición]
nuevo_elemento
: La expresión que define cómo se crea cada nuevo elemento de la lista resultante.elemento
: Una variable temporal que toma el valor de cada elemento de la secuencia original mientras se itera.secuencia
: La secuencia original de la cual se están tomando elementos.condición
(opcional): Una expresión condicional que filtra los elementos que se incluirán en la lista resultante.
A continuación, te mostraré algunos ejemplos de construcciones de comprensión de listas en Python:
Ejemplo 1: Crear una lista de números pares
pares = [x for x in range(10) if x % 2 == 0]
# Resultado: [0, 2, 4, 6, 8]
En este ejemplo, creamos una lista pares
que contiene todos los números pares del rango del 0 al 9.
Ejemplo 2: Elevar al cuadrado los elementos de una lista
numeros = [1, 2, 3, 4, 5]
cuadrados = [x**2 for x in numeros]
# Resultado: [1, 4, 9, 16, 25]
Aquí, creamos una lista cuadrados
que contiene los cuadrados de los elementos de la lista numeros
.
Ejemplo 3: Filtrar elementos de una lista de cadenas
palabras = ["manzana", "banana", "cereza", "kiwi"]
palabras_cortas = [palabra for palabra in palabras if len(palabra) < 6]
# Resultado: ["kiwi"]
En este caso, creamos una lista palabras_cortas
que contiene solo las palabras de la lista palabras
que tienen menos de 6 caracteres.
Ejemplo 4: Convertir letras en mayúsculas
frase = "Hola, ¿cómo estás?"
mayusculas = [letra.upper() for letra in frase if letra.isalpha()]
# Resultado: ['H', 'O', 'L', 'A', 'C', 'Ó', 'M', 'O', 'E', 'S', 'T', 'Á', 'S']
Aquí, creamos una lista mayusculas
que contiene las letras en mayúsculas de la frase, excluyendo caracteres no alfabéticos.
Las construcciones de comprensión de listas son útiles para simplificar el código y hacerlo más legible cuando necesitas crear una nueva lista basada en una secuencia existente o aplicar transformaciones a los elementos de una secuencia.
Ejercicio 1: Escribe una función que tome una lista de números y calcule la suma de todos los números en la lista.
Ejercicio 2: Escribe una función que tome una lista de palabras y devuelva una nueva lista que contenga solo las palabras que tienen una longitud igual o superior a 5 caracteres.
Ejercicio 3: Escribe una función que tome dos listas de números del mismo tamaño y devuelva una nueva lista que contenga la suma de los elementos correspondientes de las dos listas.
Ejercicio 4: Escribe una función que tome una lista de números y devuelva una nueva lista que contenga solo los números impares de la lista original.