Comprensión de listas en Python (con ejemplos)

Publicado: 2021-08-22

Python es uno de los lenguajes de programación más populares del mundo. En 2020, ocupó el segundo lugar en el ranking de popularidad de lenguajes de programación de RedMonk . La razón detrás de su gran popularidad es su código fácil de entender y su simplicidad. Escribir código en python es bastante simple si está familiarizado con la sintaxis. Uno de sus aspectos más destacados es su función de comprensión de listas. ¡Puede realizar la comprensión de Python para listas escribiendo solo una línea de código!

Los siguientes puntos ilustrarán qué es la comprensión de listas y cómo puede usarla en diferentes entornos. También cubriremos las diferencias presentes entre la comprensión de listas y los bucles for, que pueden ser bastante confusos. También aprenderá sobre otras funciones relacionadas y cómo usarlas:

Tabla de contenido

¿Qué es la comprensión de listas de Python?

Python ofrece múltiples formas de crear listas. Una de las formas más efectivas entre ellos es la función de comprensión de listas. Le permite crear listas escribiendo una sola línea de código.

Puede usar la comprensión de listas para crear nuevas listas a partir de otros elementos iterables, como matrices, cadenas, tuplas, listas, etc. Se compone de corchetes con la expresión. El sistema ejecuta la expresión para cada elemento con el bucle for para iterar sobre cada elemento.

La sintaxis para la comprensión de listas en Python es la siguiente:

your_new_list = [expresión para elemento en your_old_list si condición]

Aquí, your_new_list es la nueva lista (o el resultado). La expresión depende de la variable que usó para cada elemento en your_old_list. Finalmente, la "condición if" es el filtro.

Hay muchas razones por las que los desarrolladores de Python prefieren la comprensión de listas a los bucles. La razón principal es la eficiencia. Puede crear una lista con mucho menos esfuerzo y código cuando usa la comprensión de listas que cuando usa bucles.

Como requiere menos líneas de código que bucles, la comprensión de listas también le ahorra mucho tiempo. Mantiene el código simple y lo hace más fácil de usar. Además, la comprensión de listas cubre una declaración iterativa en una fórmula. Si desea obtener más experiencia en python, consulte nuestros programas de ciencia de datos de las mejores universidades.

Ejemplos de Python de comprensión de listas

Estamos compartiendo varios ejemplos de cómo puede usar la comprensión de listas en Python. Sería mejor estudiarlos y replicarlos en su propio programa después de haber entendido cómo funcionan. Le ayudaría a comprender correctamente cuán efectiva es realmente la comprensión de una lista de herramientas:

Ejemplo 1:

En este ejemplo, crearemos una lista simple utilizando la comprensión de Python:

Entrada :

a = [i para i en el rango (5)]

imprimir un

Salida :

[0, 1, 2, 3, 4]

Ejemplo 2:

En el siguiente ejemplo, crearemos una lista con múltiplos de dos:

Entrada :

new_list = [a*2 para a en rango (10)]

Producción

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

Ejemplo 3

Puede multiplicar todos los elementos de una lista utilizando la comprensión de listas:

Aporte

lista_antigua = [1, 2, 3]

new_list = [elemento*2 para elemento en old_list]

imprimir nueva_lista

Producción

[2, 4, 6]

Ejemplo 4

La comprensión de listas no se limita solo a números enteros, también puede usarla con cadenas. En este ejemplo, usaremos la comprensión de listas para crear una lista de la primera letra de cada palabra en nuestra lista original.

Entrada :

mi_lista = [“actualizar”, “es”, “divertido”]

resultado = [palabra[0] para palabra en mi_lista]

resultado de impresión

Producción

['u', 'yo', 'f']

Ejemplo 5

También puede extraer números de una cadena utilizando la comprensión de listas

Entrada :

old_list = "upGrad 123 es divertido"

new_list = [x for x in string if x.isdigit()]

imprimir nueva_lista

Salida :

['1', '2', '3']

Ejemplo 6:

También puede usar la comprensión de listas con funciones, que son una parte vital de las implementaciones matemáticas de Python:

Aporte

# primero, crearemos una función llamada triple

def triple(x

volver x*3

# ahora tiene una función de trabajo que imprime un resultado si ingresa un valor válido

>>> imprimir triple(2)

Salida :

6

Ahora puede usar la comprensión de listas con esta función para crear más listas

Entrada :

>>> [triple(x) para x en rango(5)]

impresión triple

Salida :

[0, 3, 6, 9, 12]

Diferencia entre comprensión de lista y bucle for

Una forma común de iterar a través de una lista es usando el bucle for. Sin embargo, la comprensión de listas es un método más eficiente para iterar a través de una lista, ya que le permite realizar la tarea con menos líneas de código.

He aquí un ejemplo para ilustrar la diferencia. Comenzaremos con una lista vacía y la modificaremos para convertirla en una lista de números pares:

Aporte

# creando la lista vacía

lista_antigua = []

# usar el ciclo for para crear la nueva lista

para x en el rango (5):

old_list.append(x*2)

imprimir old_list

Salida :

[0, 2, 4, 6, 8]

Como puede ver, el ciclo for requiere que use la función de agregar para crear la nueva lista. También tuvo que crear una lista vacía primero para poder usar el bucle para modificar la misma. Sin embargo, con la comprensión de listas, no tendría que usar otra función, ya que puede completar la tarea con una sola línea de código:

Entrada :

# creando el conjunto usando la comprensión de listas

old_list = [x*2 para x en el rango (5)]

imprimir old_list

Salida :

[0, 2, 4, 6, 8]

Como la comprensión de listas ocupa menos espacio y código, también requiere menos potencia de cálculo que usar un bucle for. Esto es beneficioso cuando se trabaja en programas grandes, ya que la eficiencia se convierte en un tema clave cuando el código es sustancialmente largo.

Sin embargo, cuando usa la comprensión de listas, debe evitar usar las que son excesivamente largas en una línea. De lo contrario, el código no seguiría siendo fácil de usar y puede ser bastante difícil compartir su trabajo con otros desarrolladores. Tenga en cuenta que reescribe cada comprensión de lista en un bucle for, pero no puede reescribir cada bucle for en una comprensión de lista.

La comprensión de listas es una de las muchas funcionalidades de comprensión de Python presentes en este lenguaje de programación. Otra funcionalidad de comprensión que es muy popular es la comprensión del diccionario:

¿Qué es la comprensión del diccionario en Python?

La comprensión de diccionarios, como sugiere su nombre, le permite crear diccionarios en Python. La sintaxis de una comprensión de diccionario es:

{k:v para (k,v) en iterable}

Aquí, k representa clave y v representa valor.

Veámoslo en el trabajo. En el siguiente ejemplo, crearemos dos listas y usaremos la comprensión del diccionario para generar un diccionario a partir de ellas:

Entrada :

# usar Python para mostrar la comprensión del diccionario

# creando dos listas para representar claves y valores

teclas = [1, 2, 3, 4, 5]

valores = ['a', 'b', 'c' 'd', 'e']

# implementar la comprensión del diccionario

new_dict = { k:v para (k,v) en zip(claves, valores)}

imprimir nuevo_dict

Salida :

{1: 'a', 2: 'b', 3: 'c', 4: 'd'. 5: 'e'}

La comprensión de diccionarios facilita bastante la creación de diccionarios en Python. Sin embargo, también puede usar la comprensión de listas para generar un diccionario. En el siguiente ejemplo, usaremos la comprensión de listas y crearemos un diccionario:

Entrada :

new_dict = {x: x*2 para x en [5, 4, 3, 2, 1]}

imprimir nuevo_dict

Salida :

{5 : 10, 4 : 8, 3 : 6, 2 : 4, 1 : 2}

Conviértase en un experto en Python

La comprensión de listas es una de las muchas funcionalidades presentes en Python. Es un lenguaje de programación muy versátil y útil. Además, la sintaxis de Python también es muy fácil de entender y requiere un poco de esfuerzo para acostumbrarse. Además de estos beneficios, Python también ofrece numerosas bibliotecas a sus usuarios.

Tiene una próspera comunidad de desarrolladores y programadores que agregan nuevas bibliotecas a su colección con regularidad. Las numerosas bibliotecas y funciones disponibles para Python lo hacen útil en diferentes sectores, como el desarrollo de software, la ciencia de datos, el aprendizaje automático y otros.

Si está interesado en aprender Python, debe aprenderlo en el contexto del campo que desea ingresar. Además, los reclutadores siempre buscan profesionales certificados en este campo porque les asegura la experiencia del candidato.

Por estas razones, sería mejor unirse a un curso de Python si está interesado en seguir una carrera con esta habilidad. El Instituto Internacional de Tecnología de la Información de Bangalore ofrece un Programa Ejecutivo PG en Desarrollo de Software con upGrad, que es perfecto para aquellos que desean convertirse en expertos en este lenguaje de programación y seguir una carrera tecnológica. El curso le brindará una forma bien estructurada de estudiar Python y otras tecnologías de tendencia para ayudarlo a ingresar a la industria como un profesional listo para el trabajo.

upGrad tiene más de 40 000 estudiantes pagos en más de 85 países. Unirse a este programa también le permitirá conectarse internacionalmente a través de la amplia base de estudiantes de upGrad. El curso Executive PG Program in Software Development es un programa en línea que tiene una duración de 13 meses. Solo requiere un compromiso de tiempo de 15 horas a la semana.

El programa ofrece seis especializaciones para elegir

  • La seguridad cibernética
  • DevOps
  • Computación en la nube
  • grandes datos
  • desarrollo de cadena de bloques
  • Desarrollo de pila completa

Junto con estas ventajas, upGrad también ofrece asistencia profesional de 360 ​​grados con este programa para que pueda iniciar su carrera fácilmente. Puedes conocer más sobre el curso aquí: Programa PG Ejecutivo en Desarrollo de Software .

Conclusión

Puede probar la comprensión de listas con listas simples al principio y luego pasar a aplicaciones más complejas de esta funcionalidad. La comprensión de listas es un ejemplo de cuán flexible y robusta es la programación de Python.

¿Qué opinas de la comprensión de listas? ¿Cómo lo usarías en tu programa?

¿Qué hace la comprensión de listas en Python?

Comprensión de listas Python le permite crear listas de manera eficiente y usando solo una línea de código. Es una de las funcionalidades más robustas de Python.

¿Qué es la comprensión del diccionario?

La comprensión de diccionario le permite crear diccionarios para dos listas. Utiliza claves y valores para crear el diccionario necesario.

¿Es la lista de comprensión mejor que for loop?

Sí, en la mayoría de los casos, la comprensión de listas es una forma mucho mejor de crear listas. Requiere menos código, tiempo y poder de cómputo que los bucles for para generar listas.