
Las comprensiones en Python son una forma concisa de crear listas, conjuntos y diccionarios. Nos permiten construir nuevas secuencias a partir de secuencias existentes de manera clara y eficiente.
Comprensiones de Listas
Una comprensión de listas es una manera de construir una nueva lista aplicando una expresión a cada elemento de una secuencia existente.
Ejemplo Básico
# Crear una lista de números al cuadrado
numeros = [1, 2, 3, 4, 5]
cuadrados = [n**2 for n in numeros]
print(cuadrados)
Con Condición
Podemos añadir una condición para incluir solo los elementos que cumplan ciertos criterios.
numeros = [1, 2, 3, 4, 5]
# Crear una lista de números pares al cuadrado
pares_cuadrados = [n**2 for n in numeros if n % 2 == 0]
print(pares_cuadrados)
Comprensiones de Diccionarios
Las comprensiones de diccionarios permiten crear diccionarios de manera concisa.
Ejemplo Básico
numeros = [1, 2, 3, 4, 5]
# Crear un diccionario con números y sus cuadrados
cuadrados_dict = {n: n**2 for n in numeros}
print(cuadrados_dict)
Con Condición
Podemos usar una condición para incluir solo ciertos pares clave-valor.
numeros = [1, 2, 3, 4, 5]
# Crear un diccionario con números pares y sus cuadrados
pares_cuadrados_dict = {n: n**2 for n in numeros if n % 2 == 0}
print(pares_cuadrados_dict)
Comprensiones de Conjuntos
Las comprensiones de conjuntos son similares a las de listas y diccionarios, pero generan conjuntos.
Ejemplo Básico
numeros = [1, 2, 3, 4, 5]
# Crear un conjunto con números al cuadrado
cuadrados_set = {n**2 for n in numeros}
print(cuadrados_set)
Con Condición
Al igual que con las listas y los diccionarios, podemos usar condiciones en las comprensiones de conjuntos.
numeros = [1, 2, 3, 4, 5]
# Crear un conjunto con números pares al cuadrado
pares_cuadrados_set = {n**2 for n in numeros if n % 2 == 0}
print(pares_cuadrados_set)
Comprensiones de Tuplas
A diferencia de listas, diccionarios y conjuntos, Python no tiene una sintaxis específica para comprensiones de tuplas. Sin embargo, podemos usar el generador de expresiones (que se parece a las comprensiones) y convertirlo a una tupla.
Ejemplo con Generador de Expresiones
numeros = [1, 2, 3, 4, 5]
# Crear una tupla con números al cuadrado
cuadrados_tuple = tuple(n**2 for n in numeros)
print(cuadrados_tuple)
Con Condición
También podemos añadir condiciones a los generadores de expresiones para crear tuplas filtradas.
numeros = [1, 2, 3, 4, 5]
# Crear una tupla con números pares al cuadrado
pares_cuadrados_tuple = tuple(n**2 for n in numeros if n % 2 == 0)
print(pares_cuadrados_tuple)
Las comprensiones son una característica poderosa de Python que facilita la escritura de código más limpio y eficiente. Ya sea que estés trabajando con listas, diccionarios, conjuntos o tuplas, las comprensiones y los generadores de expresiones ofrecen una forma clara y concisa de transformar y filtrar secuencias. Esto no solo mejora la legibilidad del código, sino que también puede ser más eficiente en términos de rendimiento.
No hay historial de versiones disponible para este artículo.
¿Te gustó este artículo?
¡Gracias! Tu reacción ha sido registrada.