Используйте [number ** 2 for number in range(1, 100, 2)]. Шаг 2 перебирает только нечётные числа, а исключённая правая граница 100 позволяет включить 99.
Создание списка квадратов нечётных чисел с помощью генератора списков
Используйте [number ** 2 for number in range(1, 100, 2)]. Шаг 2 перебирает только нечётные числа, а исключённая правая граница 100 позволяет включить 99.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
С помощью генератора списков (list comprehension) сформируйте массив, содержащий квадраты всех нечётных чисел в диапазоне от 1 до 99.
Ответ
Используйте [number ** 2 for number in range(1, 100, 2)]. Шаг 2 перебирает только нечётные числа, а исключённая правая граница 100 позволяет включить 99.
Готовое выражение:
squares = [number ** 2 for number in range(1, 100, 2)]
Список содержит 50 элементов: начинается с 1, 9, 25 и заканчивается 9801. Проверка чётности внутри comprehension не нужна, поскольку диапазон уже устроен нужным образом. Альтернативный вариант с условием — [n*n for n in range(1, 100) if n % 2], но он перебирает и чётные значения.