← Все вопросы
Как сделать список квадратов чисел от 1 до 5 одной строкой?
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)
Оба варианта дают одно и то же. Списковое включение просто компактнее, когда логика простая.
Ваш ответ
Войдите, чтобы ответить на вопрос.