Функция zip - объединение в один итератор на Python

Функция zip создает итератор, объединяющий элементы из последовательностей (списки, кортежи, множества). Функция возвращает итератор, в котором все элементы первой и второй последовательностей сливаются вместе по порядку. В параметре функции указываем все интересующие нас кортежи, списки, множества и т.п.

Синтаксис

zip(первая последовательность, вторая последовательность и т.д.)

Пример

Давайте с помощью функции zip сделаем новый кортеж на основе двух исходных:

tlp1 = ('a', 'b', 'c') tlp2 = (1, 2, 3) res = zip(tlp1, tlp2) print(tuple(res))

Результат выполнения кода:

(('a', 1), ('b', 2), ('c', 3))

Пример

А теперь давайте с помощью функции zip сделаем новый кортеж на основе двух списков:

lst1 = ['d', 'e', 'f'] lst2 = [4, 5, 6] res = zip(lst1, lst2) print(tuple(res))

Результат выполнения кода:

(('d', 4), ('e', 5), ('f', 6))

Пример

Давайте создадим кортеж из двух множеств:

st1 = {'a', 'b', 'c'} st2 = {'d', 'e', 'f'} res = zip(st1, st2) print(tuple(res))

Результат выполнения кода:

(('a', 'd'), ('c', 'e'), ('b', 'f'))

Пример

А теперь давайте создадим кортеж из трех множеств:

st1 = {'a', 'b', 'c'} st2 = {'d', 'e', 'f'} st3 = {1, 2, 3} res = zip(st1, st2, st3) print(tuple(res))

Результат выполнения кода:

(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))

Пример

С помощью функции zip можно одновременно перебирать несколько объектов. Давайте для примера переберем три списка:

lst1 = [1, 2, 3] lst2 = [4, 5, 6] lst3 = [7, 8, 9] for el1, el2, el3 in zip(lst1, lst2, lst3): print(el1, el2, el3)

Результат выполнения кода:

1 4 7 2 5 8 3 6 9

Смотрите также

  • функция filter,
    которая фильтрует итерируемые объекты
  • функция map,
    которая перебирает итерируемые объекты



Чат с GPT Компилятор