Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: adhar2 en 29 Agosto 2023, 13:02 pm



Título: Error de comprensión de la lista de Python: resultado inesperado
Publicado por: adhar2 en 29 Agosto 2023, 13:02 pm
Me encuentro con un resultado inesperado al utilizar la comprensión de listas en Python. Estoy intentando crear una lista de valores al cuadrado para números pares en un rango determinado, pero el resultado no es el que esperaba. Aquí está el código que estoy usando:

Código:
even_numbers = [x for x in range(10) if x % 2 == 0]
squared_values = [x**2 for x in even_numbers]

print(squared_values)

Esperaba que el resultado fuera [0, 4, 16, 36, 64], pero en cambio obtengo [0, 4, 16]. Parece que faltan el último número par (8) y su correspondiente valor al cuadrado (64).

¿Alguien puede ayudarme a comprender por qué sucede esto y cómo corregir el código de comprensión de mi lista para obtener el resultado deseado? ¿Hay algo que estoy pasando por alto en mi enfoque? Sus ideas serán muy apreciadas. ¡Gracias!


Título: Re: Error de comprensión de la lista de Python: resultado inesperado
Publicado por: reymosquito en 29 Agosto 2023, 14:53 pm
el código en sí está bien, lo único que no tiene sentido hacer dos recorridos cuando con uno te alcanza:

Código
  1. cuadrado = [x **2 for x in range(10) if x % 2 == 0]
  2. print(cuadrado)