List comprehension

Clase 21 de 5621 Días de Python

Las list comprehensions, son una característica poderosa de Python que nos permite crear listas de forma concisa y eficiente utilizando una sintaxis compacta. Las list comprehensions son una forma elegante de transformar o filtrar elementos de una lista existente para crear una nueva lista.

La sintaxis básica de una list comprehension es la siguiente:

nueva_lista = [expresion for elemento in lista_original if condicion]
  • expresion es una expresión que define cómo se transformarán los elementos de la lista original para obtener los elementos de la nueva lista.
  • elemento es una variable que representa cada elemento de la lista original mientras se recorre.
  • lista_original es la lista de origen de la cual se obtendrán los elementos.
  • condicion es una condición opcional que filtra los elementos de la lista original.

Aquí hay un ejemplo acerca del uso de las list comprehensions:

numeros = [1, 2, 3, 4, 5] # Crear una nueva lista con el cuadrado de los números pares de la lista original cuadrados_pares = [num ** 2 for num in numeros if num % 2 == 0] print(cuadrados_pares) # Output: [4, 16] # Crear una nueva lista con los números impares multiplicados por 2 de la lista original impares_multiplicados = [num * 2 for num in numeros if num % 2 != 0] print(impares_multiplicados) # Output: [2, 6, 10]

En el primer ejemplo, se crea una nueva lista llamada cuadrados_pares que contiene el cuadrado de los números pares de la lista original. La expresión num ** 2 eleva al cuadrado cada número y se agrega a la lista si cumple la condición num % 2 == 0.

En el segundo ejemplo, se crea una nueva lista llamada impares_multiplicados que contiene los números impares de la lista original multiplicados por 2. La expresión num * 2 multiplica cada número impar por 2 y se agrega a la lista si cumple la condición num % 2 != 0.

Las list comprehensions también pueden incluir cláusulas else para manejar casos en los que la condición no se cumple.

numeros = [1, 2, 3, 4, 5] # Crear una nueva lista con los números pares de la lista original, y 'No par' para los impares numeros_par_o_no_par = ['Par' if num % 2 == 0 else 'No par' for num in numeros] print(numeros_par_o_no_par) # Output: ['No par', 'Par', 'No par', 'Par', 'No par']

En este ejemplo, se crea una nueva lista llamada numeros_par_o_no_par que contiene la cadena 'Par' para los números pares y la cadena 'No par' para los números impares de la lista original.

Las list comprehensions son una herramienta muy útil en Python que nos permite escribir código más limpio y legible al mismo tiempo que realizamos transformaciones y filtrados en las listas de manera eficiente.

Todo esto y más lo puedes aprender en el Curso de Python: Comprehensions, Funciones y Manejo de Errores