Карточка Junior Итераторы и генераторы обновлено
Ленивые вычисления
Вопрос
Что значит «генератор ленивый»?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Следующий элемент вычисляется только когда его запросили. Генератор не хранит всю последовательность, память O(1) от числа элементов, и он может быть бесконечным.
Ответ
Следующий элемент вычисляется только когда его запросили. Генератор не хранит всю последовательность, память O(1) от числа элементов, и он может быть бесконечным.
Разбор
Минус: одноразовость и нет len и индексов. Плюс: конвейеры из генераторов обрабатывают гигабайтные файлы потоково.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Итераторы и генераторы»
- Когда выполняется тело генератора
- Разбить последовательность на пачки
- Рекурсивно развернуть вложенные списки
- Конвейер обработки лога на генераторах
- Свой итерируемый класс, который можно обходить много раз
- Когда выполняется finally в недочитанном генераторе
- Генераторное выражение против list comprehension
- itertools.groupby на несортированных данных