Lista Comprensión vs Generadores Expresión en Python

Python | Lista comprensión vs expresión generadores : Aquí, vamos a aprender acerca de la lista por comprensión y expresión generadores, y las diferencias entre ellos.

La lista es una colección de diferentes tipos de elementos y hay muchas maneras de crear una lista en Python.

lista por comprensión

lista por comprensión es una de las mejores maneras de crear la lista en una línea de código Python. Se utiliza para guardar un montón de tiempo en la creación de la lista.

Tomemos un ejemplo class una mejor comprensión de la lista por comprensión que calcula el cuadrado de los números hasta el 10. En primer lugar, tratamos de hacerlo mediante el uso del bucle for y después de esto, lo haremos por la comprensión de lista en Python .

Al utilizar el bucle for:

List_of_square=[]
for j in range(1,11):
s=j**2
List_of_square.append(s)
print('List of square:',List_of_square)

salida

List of square: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Ahora, lo hacemos por la Lista comprensión,

List_of_square=[j**2 for j in range(1,11)]
print('List of square:',List_of_square)

salida

List of square: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Como han visto que las múltiples líneas de código del bucle for consigue condensar en una línea de código en la lista de comprensión y también ahorra el tiempo de ejecución.

expresión generadora

Un generador de expresión es un poco similar a la lista por comprensión pero para llegar a la salida de los generadores de expresión tenemos que iterar sobre ella. Es una de las mejores maneras de utilizar menos memoria for resolver el mismo problema que requiere más memoria en la compresión de la lista. Aquí, un soporte redondo se utiliza en lugar de tomar la salida en la forma de la lista. Echemos un vistazo a un ejemplo for una mejor comprensión de la expresión generador que calcula el cuadrado de los números pares hasta 20.

Programa:

generators_expression=(j**2 for j in range(1,21) if j%2==0)
print('square of even number:')
for j in generators_expression:
print(j, end=' ')

salida

square of even number:
4 16 36 64 100 144 196 256 324 400


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *