Проверяет понимание работы встроенной функции zip() для параллельной итерации по нескольким коллекциям и требований к её аргументам.
Функция zip() в Python принимает на вход несколько итерируемых объектов (iterables) и возвращает итератор, который генерирует кортежи, состоящие из элементов, взятых с одинаковыми индексами из каждого переданного объекта. Это позволяет параллельно обходить несколько коллекций в одном цикле.
TypeError.zip() останавливается, как только заканчивается самый короткий из них. Остальные элементы игнорируются.names = ['Alice', 'Bob', 'Charlie']
scores = [85, 92, 78]
for name, score in zip(names, scores):
print(f'{name}: {score}')
# Alice: 85
# Bob: 92
# Charlie: 78
# Создание словаря
keys = ['a', 'b', 'c']
values = [1, 2, 3]
d = dict(zip(keys, values))
print(d) # {'a': 1, 'b': 2, 'c': 3}
# Работа с разной длиной
list(zip([1, 2], [10, 20, 30])) # [(1, 10), (2, 20)]zip() возвращает итератор, а не список. Для получения списка кортежей используйте list(zip(...)).itertools.zip_longest() с заполнением пропусков.zip() вернёт итератор кортежей с одним элементом.Вывод: zip() — удобный инструмент для параллельной итерации, особенно при работе с данными, где элементы логически связаны по индексу. Применяется при объединении списков, создании словарей, обработке табличных данных и в циклах, где нужно одновременно обходить несколько коллекций.