← Все вопросы

Как сделать список квадратов чисел от 1 до 5 одной строкой?

Задан 1 месяц назад1.3к просмотров1 ответ
5

Видел, что списки можно создавать какой-то записью в квадратных скобках с for внутри, типа [... for ... in ...]. Хочу получить [1, 4, 9, 16, 25] — квадраты чисел от 1 до 5. Как это записать? Через обычный цикл я умею, но хочется понять короткий вариант.

1 ответ

10
✓ Принятый ответ — помог автору

Это называется списковое включение (list comprehension). Читается как «возьми i*i для каждого i из range»:

squares = [i * i for i in range(1, 6)]
print(squares)   # [1, 4, 9, 16, 25]

Это короткая запись вот такого обычного цикла:

squares = []
for i in range(1, 6):
    squares.append(i * i)

Оба варианта дают одно и то же. Списковое включение просто компактнее, когда логика простая.

Ваш ответ

Войдите, чтобы ответить на вопрос.