← Все вопросы

Списковые включения — упростите, пожалуйста, пример

Задан 4 месяца назад490 просмотров2 ответа
19

Хочу научиться list comprehension. Вот «по-старому»:

result = []
for x in range(10):
    if x % 2 == 0:
        result.append(x * x)

Как это записать включением?

2 ответа

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

Один в один:

result = [x * x for x in range(10) if x % 2 == 0]

Читается как «x*x для каждого x из range(10), если x чётный». Порядок: что добавляем → откуда берём → условие. Не увлекайся вложенностью — 2-3 уровня уже хуже обычного цикла.

Дмитрий Ушкин спасибо, шаблон «что / откуда / условие» помог уложить в голове · 4 месяца назад
5

[x*x for x in range(10) if x%2==0]

Ваш ответ

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