Какое главное преимущество generator expression `(x*2 for x in big_list)` над list comprehension `[x*2 for x in big_list]`?
Pythonmediummiddle
Варианты ответа
Generator использует lazy evaluation — элементы считаются по одному при итерации, память не выделяется под весь результат сразу. Подходит для больших данных или когда нужна часть
Generator работает быстрее за счёт компиляции в C-код интерпретатором Python, тогда как list comprehension остаётся на уровне байт-кода и требует больше CPU-тактов при выполнении
Generator автоматически параллелит вычисления на ядрах CPU через concurrent.futures, а list comprehension всегда выполняется последовательно в одном потоке без возможности ускорения
Generator кеширует уже вычисленные элементы и переиспользует при повторном проходе, что даёт выигрыш в сценариях с несколькими итерациями над одной коллекцией данных pipeline
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.