Выбор ответа Junior Итераторы и генераторы обновлено
zip списков разной длины
Вопрос
Что вернёт list(zip([1, 2, 3], "ab"))?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: [(1, 'a'), (2, 'b')]. zip останавливается на самой короткой последовательности.
Варианты ответа
[(1, 'a'), (2, 'b'), (3, None)]ValueError[(1, 'a'), (2, 'b')]правильный ответ[(1, 'a'), (2, 'b'), (3, '')]
Разбор
zip останавливается на самой короткой последовательности. Дополнение значением даёт itertools.zip_longest (по умолчанию None). ValueError бросит только zip(..., strict=True) (3.10+), если длины различаются.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Итераторы и генераторы»
- Когда выполняется тело генератора
- Разбить последовательность на пачки
- Рекурсивно развернуть вложенные списки
- Конвейер обработки лога на генераторах
- Свой итерируемый класс, который можно обходить много раз
- Когда выполняется finally в недочитанном генераторе
- Полезные функции itertools
- Ленивые вычисления