Что вернёт list(zip([1, 2, 3], ['a', 'b']))?
A
ValueError: аргументы zip() имеют разную длину, функция требует одинакового размераB
[(1, 'a'), (2, 'b'), (3, '')]: недостающее значение второго аргумента дополняется пустой строкойC
[(1, 'a'), (2, 'b'), (3, None)]: недостающее значение второго аргумента дополняется значением NoneD
[(1, 'a'), (2, 'b')]: zip() останавливается на самом коротком аргументе, лишний элемент отбрасываетсяПравильный ответ.
zip() останавливается по самому короткому итерируемому объекту, лишние элементы остальных аргументов отбрасываются.Разбор
Функция zip() объединяет элементы попарно и заканчивает работу, когда заканчивается самый короткий аргумент. Поэтому элемент 3 из первого списка не войдёт в результат, а исключение не выбрасывается. Если нужно дополнить недостающие значения, используют itertools.zip_longest(), которая подставляет None или указанное значение fillvalue.
Проверь себя · 1/3разбор после ответа
Что вернёт выражение
"py" in "python" при выполнении в Python?Ещё вопросы по теме «Синтаксис и типы данных»
- Какой результат вернёт вызов `type(10)`?
- После выполнения `y = str(42)` чему равен `y` и какой у него тип?
- Какая проверка наиболее корректна и идиоматична, чтобы убедиться, что переменная `x` равна `None`?
- Чему равно значение переменной `result` после выполнения строки `result = 3 < 5`?
- Что вернёт выражение `" Python ".strip()`?
- Все вопросы по «Синтаксис и типы данных» →