Почтовый индекс Python ()

Функция zip () принимает итерации (может быть ноль или больше), объединяет их в кортеж и возвращает его.

Синтаксис zip()функции:

 zip (* итерации)

zip () Параметры

Параметр Описание
iterables могут быть встроенными итерациями (например, список, строка, dict) или определяемыми пользователем итерациями

Рекомендуемая литература: Итераторы Python, __iter__ и __next__

Возвращаемое значение из zip ()

zip() Функция возвращает итератор кортежей на основе итерации объектов.

  • Если мы не передаем ни одного параметра, zip()возвращает пустой итератор
  • Если передана одна итерация, zip()возвращает итератор кортежей, каждый из которых имеет только один элемент.
  • Если передано несколько итераций, zip()возвращает итератор кортежей, в каждом кортеже есть элементы из всех итераций.
    Предположим, переданы два итератора zip(); одна итерация содержит три, а другая - пять элементов. Тогда возвращаемый итератор будет содержать три кортежа. Это потому, что итератор останавливается, когда исчерпывается самая короткая итерация.

Пример 1: Python zip ()

 number_list = (1, 2, 3) str_list = ('one', 'two', 'three') # No iterables are passed result = zip() # Converting iterator to list result_list = list(result) print(result_list) # Two iterables are passed result = zip(number_list, str_list) # Converting iterator to set result_set = set(result) print(result_set)

Вывод

 () ((2, 'два'), (3, 'три'), (1, 'один'))

Пример 2: Различное количество повторяемых элементов

 numbersList = (1, 2, 3) str_list = ('one', 'two') numbers_tuple = ('ONE', 'TWO', 'THREE', 'FOUR') # Notice, the size of numbersList and numbers_tuple is different result = zip(numbersList, numbers_tuple) # Converting to set result_set = set(result) print(result_set) result = zip(numbersList, str_list, numbers_tuple) # Converting to set result_set = set(result) print(result_set)

Вывод

 ((2, 'ДВА'), (3, 'ТРИ'), (1, 'ОДИН')) ((2, 'два', 'ДВА'), (1, 'один', 'ОДИН'))

Оператор * может использоваться вместе с zip()для распаковки списка.

 zip (* zippedList)

Пример 3: Распаковка значения с помощью zip ()

 coordinate = ('x', 'y', 'z') value = (3, 4, 5) result = zip(coordinate, value) result_list = list(result) print(result_list) c, v = zip(*result_list) print('c =', c) print('v =', v)

Вывод

 (('x', 3), ('y', 4), ('z', 5)) c = ('x', 'y', 'z') v = (3, 4, 5) 

Интересные статьи...