Функция Python Zip: методы и примеры кода

Похоже, что запрос «python zip stackoverflow» представляет собой запрос методов и примеров кода, связанных с функцией «zip» в Python. Ниже я приведу несколько методов и примеры кода:

Метод 1: базовое использование
Функция «zip» в Python используется для объединения нескольких итераций в одну итерацию кортежей. Вот простой пример:

numbers = [1, 2, 3]
letters = ['a', 'b', 'c']
result = zip(numbers, letters)
for item in result:
    print(item)

Выход:

(1, 'a')
(2, 'b')
(3, 'c')

Метод 2: распаковка
Функция «zip» также может использоваться для распаковки данных. Вот пример:

data = [(1, 'a'), (2, 'b'), (3, 'c')]
numbers, letters = zip(*data)
print(numbers)
print(letters)

Выход:

(1, 2, 3)
('a', 'b', 'c')

Метод 3: заполнение и усечение
Если итерации, переданные в «zip», имеют разную длину, результирующая итерация по умолчанию будет усечена до длины самой короткой итерации. Однако вы можете использовать функцию «itertools.zip_longest» для дополнения или усечения итераций. Вот пример:

from itertools import zip_longest
numbers = [1, 2, 3]
letters = ['a', 'b']
result = zip_longest(numbers, letters, fillvalue='N/A')
for item in result:
    print(item)

Выход:

(1, 'a')
(2, 'b')
(3, 'N/A')

Метод 4: несколько итераций
Функция «zip» может принимать несколько итераций в качестве аргументов. Вот пример:

numbers = [1, 2, 3]
letters = ['a', 'b', 'c']
symbols = ['!', '@', '#']
result = zip(numbers, letters, symbols)
for item in result:
    print(item)

Выход:

(1, 'a', '!')
(2, 'b', '@')
(3, 'c', '#')