Python Glossary English

все Python 3Циклыфункция

zip()

итерация

Встроенная функция, объединяющая несколько итерируемых объектов в один. Возвращает кортежи из соответствующих элементов. Останавливается по наименьшему.

Синтаксис

zip(*iterables)

В Python 3 zip() возвращает ленивый итератор, а не список, и исчерпывается после первого прохода — чтобы пройти дважды или обратиться по индексу, оберните его в list(). Идиома zip(*pairs) распаковывает список пар обратно в отдельные последовательности, а на строках матрицы работает как транспонирование.

Примеры

names = ["Анна", "Борис", "Вера"]
scores = [95, 78, 88]
for name, score in zip(names, scores):
    print(f"{name}: {score}")  # → Анна: 95 / Борис: 78 / Вера: 88
a, b, c = [1, 2], [3, 4], [5, 6]
for x, y, z in zip(a, b, c):
    print(x + y + z, end=" ")  # → 9 12
print(dict(zip(['a', 'b', 'c'], [1, 2, 3])))  # → {'a': 1, 'b': 2, 'c': 3}
print(list(zip([1, 2, 3], [4, 5])))  # → [(1, 4), (2, 5)] — по короткому
from itertools import zip_longest
print(list(zip_longest([1, 2, 3], [10, 20], fillvalue=0)))  # → [(1, 10), (2, 20), (3, 0)]

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности