В Python Вы можете собрать Iteratables ( Списки , кортежи ). Вы можете сделать это с функцией ZIP (), которая не имеет ничего общего с форматом пакета ZIP.
Прежде чем играть с функцией ZIP, вы должны знать Основы Python Отказ
Функция ZIP () принимает имущеты, агрегирует их в кортеже, а затем вернуть его. Как аргумент определяет итерасленты: ZIP (ITERATOR1, ITERATOR2, ITERATOR3 …)
Вы можете создать два списка:
>>> a = [1,2,3] >>> b = [4,5,6]
Затем используйте функцию ZIP, и вы увидите, что он агрегировал оба списка:
>>> result = zip(a,b) >>> result = list(result) >>> print(result) [(1, 4), (2, 5), (3, 6)] >>>
Это также работает для кортежей в качестве ввода
>>> a = ("Alfa","Bravo","Charlie") >>> b = ("Delta","Echo","Foxtrot") >>> result = zip(a,b) >>> print(list(result)) [('Alfa', 'Delta'), ('Bravo', 'Echo'), ('Charlie', 'Foxtrot')] >>>
Вы можете себе представить, что вы можете сделать это для координат:
>>> x = [1,2,3,4,5] >>> y= [10,20,30,40,50] >>> coordinates = zip(x,y) >>> print(list(coordinates)) [(1, 10), (2, 20), (3, 30), (4, 40), (5, 50)] >>>
Распаковую стоимость с использованием zip
Вы можете ZIP и расстегнуть функцией zip (). Приведенный ниже пример показывает как Zausing, так и расстегнув.
>>> a = ("Alfa","Bravo","Charlie") >>> b = ("Delta","Echo","Foxtrot") >>> result = list(zip(a,b)) >>> result [('Alfa', 'Delta'), ('Bravo', 'Echo'), ('Charlie', 'Foxtrot')]
Теперь расстегнуть:
>>> x,y = zip(*result) >>> x ('Alfa', 'Bravo', 'Charlie') >>> y ('Delta', 'Echo', 'Foxtrot') >>>
Zip на других типах
Вы можете zip a Строка и список:
>>> x = [1,2,3,4] >>> y = "ABCD" >>> result = list(zip(x,y)) >>> print(result) [(1, 'A'), (2, 'B'), (3, 'C'), (4, 'D')]
Вы можете застегивать две строки, которые объединяет буквы как пары:
>>> x = "hello" >>> y = "world" >>> result = list(zip(x,y)) >>> print(result) [('h', 'w'), ('e', 'o'), ('l', 'r'), ('l', 'l'), ('o', 'd')] >>>
Быстро создавая тестовые данные?
>>> x = range(10) >>> y = range(2,20,2) >>> print(list(zip(x,y))) [(0, 2), (1, 4), (2, 6), (3, 8), (4, 10), (5, 12), (6, 14), (7, 16), (8, 18)] >>>
Ссылки по теме:
Оригинал: “https://dev.to/bluepaperbirds/python-zip-function-3cbc”