Forum >> Principianti >> Errore di comprensione dell'elenco Python: output imprevisto

Pagina: 1

Riscontro un output imprevisto durante l'utilizzo della comprensione delle liste in Python. Sto cercando di creare un elenco di valori al quadrato per i numeri pari in un determinato intervallo, ma il risultato non è quello previsto. Ecco il codice che sto utilizzando:



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

print(squared_values)


Mi aspettavo che l'output fosse [0, 4, 16, 36, 64], ma invece ottengo [0, 4, 16]. Sembra che manchino l'ultimo numero pari (8) e il corrispondente valore al quadrato (64).




Qualcuno può aiutarmi a capire perché questo sta accadendo e come correggere il codice di comprensione dell'elenco per ottenere l'output desiderato? C'è qualcosa che sto trascurando nel mio approccio? Le tue intuizioni sarebbero molto apprezzate. Grazie!


Ciao caro, hai fatto tutto bene, direi che funziona senza grossi problemi.

Quindi:
>>> even_numbers = [x for x in range(10) if x % 2 == 0]
>>> print(even_numbers)
[0, 2, 4, 6, 8]


Ora se vuoi fare il quadrato di ogni elemento:
>>> squared_values = [x**2 for x in even_numbers]
>>> print(squared_values)
[0, 4, 16, 36, 64]


Traccia bonus fai tutto in un solo passaggio:
>>> squared_values = [x**2 for x in range(10) if x % 2 == 0]
>>> print(squared_values)
[0, 4, 16, 36, 64]


Ciao e buon proseguimento.
Well, your coding is looking good, you need to check for below things to troubleshoot the issues.
1. Check your python environment.

2. Code execution or code isolation.

3. Check used IDE

4. Check python version

Thanks


Pagina: 1



Esegui il login per scrivere una risposta.