Получение списка квадратов нечётных чисел от 1 до 99 с помощью генератора

Используйте list(x * x for x in range(1, 100, 2)). range выдаст нечётные числа от 1 до 99, а генератор вычислит их квадраты.

Короткий ответ

Что ответить на собеседовании

Используйте list(x * x for x in range(1, 100, 2)). range выдаст нечётные числа от 1 до 99, а генератор вычислит их квадраты.

Подробный разбор

Ответ с пояснениями

Условие

Сформируйте список, в котором находятся квадраты всех нечётных чисел в диапазоне от 1 до 99 включительно, используя генераторное выражение.

Ответ

Используйте list(x * x for x in range(1, 100, 2)). range выдаст нечётные числа от 1 до 99, а генератор вычислит их квадраты.

squares = list(x * x for x in range(1, 100, 2))

В результате 50 элементов: первый равен 1, последний — 9801. Правая граница 100 не включается, а шаг 2 исключает чётные числа без дополнительного условия.

Генераторное выражение само по себе ленивое, но list(...) потребляет его полностью, поскольку по условию нужен список. Более привычная запись [x * x for x in range(1, 100, 2)] создаёт такой же результат через list comprehension. Обе версии требуют памяти для всех готовых значений.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее