List comprehension создаёт новый список из выражения и необязательного фильтра. Обычный цикл подходит для более сложной логики, побочных эффектов и управления выполнением.
Чем list comprehension отличается от обычного цикла в Python?
List comprehension создаёт новый список из выражения и необязательного фильтра. Обычный цикл подходит для более сложной логики, побочных эффектов и управления выполнением.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
List comprehension создаёт новый список из выражения и необязательного фильтра. Обычный цикл подходит для более сложной логики, побочных эффектов и управления выполнением.
Например, [x * x for x in nums if x > 0] компактно выражает построение списка. Сложные вложенные условия лучше вынести в функцию или цикл ради читаемости.
Comprehension вычисляется сразу и занимает память под результат. Если нужна ленивая последовательность, рассмотрите генераторное выражение. Скорость зависит от операции, а не только от синтаксиса.