Listas por comprensión en Python: Explicación y ejemplos

Listas por comprensión en Python: Explicación y ejemplos

En Python, las listas por comprensión son una forma concisa de crear listas a partir de otras listas, iterables o rangos. Se pueden utilizar para crear listas de números, cadenas, objetos o cualquier otro tipo de dato.

Sintaxis

La sintaxis básica de una lista por comprensión es la siguiente:

Python
[ expresión for elemento in iterable if condición ]
  • expresión: La expresión que se evaluará para cada elemento del iterable.
  • elemento: El elemento del iterable que se está iterando.
  • iterable: El iterable que se está iterando.
  • condición: Una condición opcional que se puede utilizar para filtrar los elementos del iterable.

Ejemplos

Creación de una lista de números

Python
numeros = [1, 2, 3, 4, 5]

# Creación de una nueva lista con los cuadrados de los números de la lista original
cuadrados = [x * x for x in numeros]

print(cuadrados)

Salida:

[1, 4, 9, 16, 25]

Creación de una lista de cadenas

Python
cadenas = ["Hola", "mundo", "Python"]

# Creación de una nueva lista con las cadenas de la lista original en mayúsculas
mayusculas = [cadena.upper() for cadena in cadenas]

print(mayusculas)

Salida:

['HOLA', 'MUNDO', 'PYTHON']

Filtrado de elementos

Python
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Creación de una nueva lista con los números pares de la lista original
pares = [x for x in numeros if x % 2 == 0]

print(pares)

Salida:

[2, 4, 6, 8]

Combinación de listas

Python
numeros = [1, 2, 3, 4, 5]
cadenas = ["Hola", "mundo", "Python"]

# Creación de una nueva lista con los números y las cadenas de la lista original
combinacion = [x for x in numeros] + [x for x in cadenas]

print(combinacion)

Salida:

[1, 2, 3, 4, 5, 'Hola', 'mundo', 'Python']

Ventajas

Las listas por comprensión ofrecen una serie de ventajas sobre las formas tradicionales de crear listas:

  • Son más concisas y fáciles de leer.
  • Permiten crear listas de forma más eficiente.
  • Son más flexibles y permiten crear listas con condiciones y operaciones complejas.

Desventajas

Las listas por comprensión pueden ser difíciles de entender para los principiantes. Además, pueden ser menos eficientes que las formas tradicionales de crear listas en algunos casos.

Conclusión

Las listas por comprensión son una herramienta poderosa que puede utilizarse para crear listas de forma concisa y eficiente. Son una parte esencial de la sintaxis de Python y son utilizadas por desarrolladores experimentados en todo el mundo.