Что делает функция zip в Python?
Ответы
Карина Абдуллаева
09 ноября 2022
Функция zip()
принимает на входе несколько итерируемых объектов (iterable) или итераторов (iterators) и поэлементно группирует в кортежи. Функция останавливается, когда заканчиваются элементы в одном из источников. Относится к неперезапускаемым генераторам.
Пример:
user_names = ['Anna', 'Bob', 'Claire', 'Daniel']
user_age = [20, 25, 30]
zipped_values = zip(user_names, user_age)
print(list(zipped_values)) # => [('Anna', 20), ('Bob', 25), ('Claire', 30)]
# для Daniel возраста не осталось, функция остановилась
print(list(zipped_values)) # => []
# т.к. функция неперазапускаемая, повторный вызов вернул пустой список
4
0
Olga Pejenkova
10 июня 2024
Функция zip()
в Python используется для одновременной итерации по нескольким итерируемым объектам (например, спискам, кортежам, строкам) параллельно. Она создает итератор, который генерирует кортежи, состоящие из соответствующих элементов из каждого итерируемого объекта.
Важные моменты:
- Длина итератора: Итератор, созданный
zip()
, будет иметь длину, равную длине самого короткого итерируемого объекта, переданного в функцию. - Разные типы данных:
zip()
может работать с итерируемыми объектами разных типов данных. - Создание словарей:
zip()
часто используется для создания словарей из двух списков, где один список содержит ключи, а другой - значения.
Пример с разной длиной итераторов:
list1 = [1, 2, 3]
list2 = ['a', 'b']
for x, y in zip(list1, list2):
print(x, y)
# => 1 a
# => 2 b
В этом случае, так как list2
короче, чем list1
, итерация прекращается после достижения конца list2
2
0