Python Glossary English

все 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Сообщить о неточности