Функция zip( )
Синтаксис:
zip(*итерируемый_объект)
итерируемый_объект – объект поддерживающий итерирование (если коротко то – это такой объект при каждом новом обращении, к которому он возвращает свой следующий элемент, когда элементы заканчиваются возбуждается исключение StopIterator ). Функция может принимать несколько итерируемых объектов. Необязательный аргумент.
Функция zip() в зависимости от количества итерируемых объектов производит следующие операции:
1. В случае если итерируемые объекты не передаются, функция zip() возвращает zip object состоящий из пустого итератора.
2. В случае если в качестве аргумента передается один итерируемый объект, функция zip() возвращает zip object состоящий из итератор кортежей в котором каждый элемент переданного итерируемого объекта упакован в кортеж.
3. В случае если в качестве аргумента передается несколько итерируемых объектов, функция zip() возвращает zip object состоящий из итератора кортежей в котором каждый i-тый кортеж состоит из i-тых элементов итерируемых объектов. Количество кортежей равно длине самого маленького итерируемого объекта переданного функции в качестве аргумента.
4. С помощью функции zip() и оператора * можно распаковывать списки.
5. Для разделения итерируемого_объекта на куски n-длины используется следующая форма записи функции zip()
zip(*[iter(итерируемый_объект)] * n)
Реальное применение функции zip().
Задача: повернуть матрицу на 90 градусов по часовой стрелке.
По ссылкам можно почитать мои конспекты:
Встроенные функции (Built-in)
Методы словаря (Dict methods)
Методы списков (List methods)
Строковые методы (String Methods)
Спецификаторы
Итерируемый тип данных
Инструкции continue, break и pass
Цикл for … in
Цикл while
Условная инструкция if
Индексация
Переменные
Встроенные функции print() и input()
Оператор присваивания
Основные типы данных
Коротко о языке
Книги и курсы по Python
Книги и курсы по Python год спустя.