Функция zip в Python 3.10
Функция
Но если передать на вход итерируемые объекты неравной длины, то количество кортежей будет сформировано по самой короткой последовательности, а оставшиеся элементы в более длинных будут игнорироваться, что может привести к нежелательным результатам.
В python 3.10 в функцию был добавлен необязательный аргумент
В случае же если требуется составить кортежи по всем элементам последовательности в независимости от равенства длин, в модуле
#zip #zip_longest #itertools
Функция
zip
принимает на вход в качестве аргументов итерируемые объекты, а возвращает итератор из кортежей, где i-й кортеж содержит i-й элемент из каждой последовательности.Но если передать на вход итерируемые объекты неравной длины, то количество кортежей будет сформировано по самой короткой последовательности, а оставшиеся элементы в более длинных будут игнорироваться, что может привести к нежелательным результатам.
В python 3.10 в функцию был добавлен необязательный аргумент
strict
, который является флагом проверки входных итерируемых объектов на равенство их длин. В случае, если длины не равны, то будет выброшено исключение ValueError
.В случае же если требуется составить кортежи по всем элементам последовательности в независимости от равенства длин, в модуле
itertools
существует функция zip_longest
. Данная функция работает точно также как zip, но заменяет отсутствующие элементы значением, переданным в fillvalue
, которое по умолчанию равно None
.#zip #zip_longest #itertools
👍110🔥16😱8❤7👎5