Функция zip() в Python - это встроенная функция, которая используется для объединения элементов из одной или более последовательностей (списков, кортежей и т. д.) во внутреннюю структуру данных, известную как объект zip. Этот объект zip может затем быть преобразован в список, кортеж или использоваться в цикле для обработки параллельных элементов.
Синтаксис:
zip(*iterables)
iterables - последовательность итерируемых объектов, которые будут объединены в объект zip. Может быть любым количеством последовательностей, включая списки, кортежи и даже строки.
Возвращаемое значение:
Функция zip() возвращает итератор, который генерирует кортежи, содержащие элементы из каждой переданной последовательности.
zip()list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped)) # [(1, 'a'), (2, 'b'), (3, 'c')]
В этом примере zip() объединяет соответствующие элементы из list1 и list2 в кортежи.
list1 = [1, 2, 3]
list2 = ['a', 'b']
zipped = zip(list1, list2)
print(list(zipped)) # [(1, 'a'), (2, 'b')]
В случае, если одна из последовательностей короче другой, zip() останавливается, когда самая короткая последовательность исчерпана.
pairs = [(1, 'a'), (2, 'b'), (3, 'c')]
numbers, letters = zip(*pairs)
print(numbers) # (1, 2, 3)
print(letters) # ('a', 'b', 'c')
При передаче объекта zip с помощью *, он разбирается на отдельные последовательности.
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for num, letter in zip(list1, list2):
print(f'Number: {num}, Letter: {letter}')
Этот код печатает каждую пару элементов из list1 и list2.
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dictionary = dict(zip(keys, values))
print(dictionary) # {'a': 1, 'b': 2, 'c': 3}
Используя zip(), мы можем легко создать словарь из двух списков, где элементы первого списка будут ключами, а элементы второго списка - значениями.