Ошибка понимания списка Python: неожиданный вывод, Jeevan11, 01-Сен-23, 13:47 [смотреть все]Я столкнулся с неожиданным результатом при использовании понимания списка в Python. Я пытаюсь создать список квадратов значений четных чисел в заданном диапазоне, но результат не тот, который я ожидал. Вот код, который я использую:even_numbers = [x for x in range(10) if x % 2 == 0] squared_values = [x**2 for x in even_numbers]print(squared_values)
Я ожидал, что результат будет [0, 4, 16, 36, 64], но вместо этого я получаю [0, 4, 16]. Кажется, что последнее четное число (8) и соответствующее ему квадратное значение (64) отсутствуют. Может ли кто-нибудь помочь мне понять, почему это происходит и как исправить мой код понимания списка, чтобы получить желаемый результат? Есть ли что-то, что я упускаю из виду в своем подходе? Ваши идеи будут очень признательны. Спасибо!
|
- Ошибка понимания списка Python: неожиданный вывод, BulgakowI, 17:42 , 01-Сен-23 (1)
>[оверквотинг удален] > пытаюсь создать список квадратов значений четных чисел в заданном диапазоне, но > результат не тот, который я ожидал. Вот код, который я использую: > even_numbers = [x for x in range(10) if x % 2 == > 0] > squared_values = [x**2 for x in even_numbers] > print(squared_values) > > Я ожидал, что результат будет [0, 4, 16, 36, 64], но вместо > этого я получаю [0, 4, 16]. Кажется, что последнее четное число > (8) и соответствующее ему квадратное значение (64) отсутствуют.?? https://www.online-python.com/NLE9D13Uy5 [0, 4, 16, 36, 64] - Ошибка понимания списка Python: неожиданный вывод, DmitryX, 20:14 , 05-Сен-23 (2)
Ваш код абсолютно верен. Проверил его у себя на компьютере и на сайте питонтьютора. Вывод - [0, 4, 16, 36, 64]
- Ошибка понимания списка Python: неожиданный вывод, evgeny, 13:19 , 08-Сен-23 (3)
>[оверквотинг удален] > squared_values = [x**2 for x in even_numbers] > print(squared_values) > > Я ожидал, что результат будет [0, 4, 16, 36, 64], но вместо > этого я получаю [0, 4, 16]. Кажется, что последнее четное число > (8) и соответствующее ему квадратное значение (64) отсутствуют. > Может ли кто-нибудь помочь мне понять, почему это происходит и как исправить > мой код понимания списка, чтобы получить желаемый результат? Есть ли что-то, > что я упускаю из виду в своем подходе? Ваши идеи будут > очень признательны. Спасибо!Хм... Type "help", "copyright", "credits" or "license" for more information. >>> even_numbers = [x for x in range(10) if x % 2 == 0] >>> even_numbers [0, 2, 4, 6, 8] >>> squared_values = [x**2 for x in even_numbers] >>> print(squared_values) [0, 4, 16, 36, 64] >>> - Ошибка понимания списка Python: неожиданный вывод, Human, 05:28 , 26-Сен-24 (4)
Ваш код верен. Попробуйте воспользоваться другой версией python3
|