Sobes.tech
Back to questions
Junior — Middle
68

Объясните принцип работы функции zip в Python и как она объединяет несколько итерируемых объектов.

Answer from AI

sobes.tech AI

Функция zip в Python принимает несколько итерируемых объектов (например, списки, кортежи, строки) и возвращает итератор, который объединяет элементы этих объектов по позициям в кортежи. То есть первый элемент каждого итерируемого объекта объединяется в первый кортеж, второй — во второй и так далее.

Работает zip до тех пор, пока не закончится самый короткий из переданных итерируемых объектов.

Пример:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

zipped = zip(list1, list2)
print(list(zipped))  # [(1, 'a'), (2, 'b'), (3, 'c')]

Если длины списков разные:

list1 = [1, 2, 3, 4]
list2 = ['a', 'b']

print(list(zip(list1, list2)))  # [(1, 'a'), (2, 'b')]

Таким образом, zip удобен для параллельной обработки нескольких последовательностей.