все Python 3Кортежи (tuple)понятие
zip() с кортежами
итерация
zip() работает с кортежами так же, как со списками. Возвращает итератор кортежей.
Синтаксис
zip(t1, t2, ...)
zip молча останавливается на самой короткой последовательности: если кортежи разной длины, хвост потеряется без всякого предупреждения — с Python 3.10 на этот случай есть zip(t1, t2, strict=True), который бросит ValueError. Результат ленивый и одноразовый: после list(zip(...)) или первого прохода в цикле повторно пройтись по тому же объекту уже не получится, он пуст.
Примеры
t1 = (1, 2, 3)
t2 = ('a', 'b', 'c')
print(list(zip(t1, t2))) # → [(1, 'a'), (2, 'b'), (3, 'c')]
print(tuple(zip(t1, t2))) # → ((1, 'a'), (2, 'b'), (3, 'c'))
for x, y in zip((1, 2, 3), ('a', 'b', 'c')):
print(x, y) # → 1 a / 2 b / 3 c
keys = ('a', 'b', 'c')
vals = (1, 2, 3)
print(dict(zip(keys, vals))) # → {'a': 1, 'b': 2, 'c': 3}
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности