ЛАБОРАТОРИЯ / Обучение
Система готова
PYTHON / COMPREHENSIONS

Включения и обработка коллекций

24 мин8 ЗАДАНИЙ32 ВОПРОСА В БАНКЕ
01

Что это и зачем

Comprehension описывает создание новой коллекции через выражение, перебор и необязательный фильтр. Это компактная запись преобразования данных.

02

Как это работает

[expr for item in iterable if condition] сначала перебирает элементы, затем фильтрует и вычисляет выражение. {key: value for ...} создаёт dict; {expr for ...} — set. Круглые скобки создают ленивый generator expression.

example.py
print([n * n for n in range(4)])
03

Когда применять

Применяйте включения для короткого чистого преобразования и фильтрации. sum и any могут потреблять генератор без промежуточного списка. Читаемость важнее минимального числа строк.

04

Границы применения

Не вызывайте функции с побочными эффектами во включении ради краткости. Не помещайте несколько сложных условий и циклов в одну строку: явный цикл проще отлаживать. Генератор расходуется при чтении.

05

Ошибки и лучшие практики

Фильтр if в конце отличается от условного выражения в начале. Повторяющиеся ключи dict заменяются последним значением. Переменная включения не протекает во внешнюю область.

Понятна идея? Теперь проверим её в действии.