Что делает функция zip в Python?
4 года назад
Andrey Moshkov
Ответы
Функция zip() принимает на входе несколько итерируемых объектов (iterable) или итераторов (iterators) и поэлементно группирует в кортежи. Функция останавливается, когда заканчиваются элементы в одном из источников. Относится к неперезапускаемым генераторам.
Пример:
4 года назад
Карина Абдуллаева
Функция zip() в Python используется для одновременной итерации по нескольким итерируемым объектам (например, спискам, кортежам, строкам) параллельно. Она создает итератор, который генерирует кортежи, состоящие из соответствующих элементов из каждого итерируемого объекта.
Важные моменты:
- Длина итератора: Итератор, созданный
zip(), будет иметь длину, равную длине самого короткого итерируемого объекта, переданного в функцию. - Разные типы данных:
zip()может работать с итерируемыми объектами разных типов данных. - Создание словарей:
zip()часто используется для создания словарей из двух списков, где один список содержит ключи, а другой - значения.
Пример с разной длиной итераторов:
В этом случае, так как list2 короче, чем list1, итерация прекращается после достижения конца list2
2 года назад
Olga Pejenkova
zip() берёт несколько последовательностей и собирает из них пары: первый элемент с первым, второй со вторым:
zip возвращает итератор
Результат можно перебрать один раз. Чтобы пользоваться им повторно, сохраните в список.
Разная длина
zip останавливается на самой короткой последовательности, лишние элементы теряются без ошибки:
Чтобы получить ошибку при разной длине, передайте strict=True (Python 3.10+). Чтобы дополнить короткую последовательность, используйте itertools.zip_longest:
Словарь из двух списков
Обратная операция: разделить пары
Транспонировать матрицу
Индекс вместе с парой
Встроенные функции и итераторы разбирают в бесплатном курсе «Основы Python».
10 дней назад
Никита Вихров
Похожие вопросы






