Какво представлява функцията Zip и UnZip в Python?



Тази статия ще ви предостави подробни и изчерпателни познания за функцията Zip в Python, как се използва и как също да разархивирате.

Някога чудили ли сте се как можем да вземем по един елемент от два различни списъка и да ги направим като двойка и да ги поставим в нов списък? Е, тази концепция, освен че е интересна, е много полезна в много области на специализация. Нека се запознаем с функцията zip в Python в следния ред:

Zip функция в Python

Zip функция в Python





zip () функцията е вградена функция и отнема произволен брой итерации и връща списък с кортежи. I-ият елемент на кортежа се създава, използвайки i-ия елемент от всеки от итерабилите.

list_A = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) print zl

Изход:



[(1, „a“), (2, „b“), (3, „c“), (4, „d“)]

заплата за разработчици на Java в Индия

Zip в Python 3

В Python 3, когато изпълним горния код, няма да получим същия резултат. Вместо това ще получим:



Опитай го!

Това е така, защото zip методите връщат zip обект вместо списък. Този zip обект е итератор. С други думи, връща един обект на итератор, след като е картографирал стойности от всички контейнери. Така че, за да получим стойностите, ние или конвертираме zl (от горния код) в списък, набор или нещо друго.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) print (zl)

Изход:

[(1, „a“), (2, „b“), (3, „c“), (4, „d“)]

Разархивиране в Python

Разархивирането означава преобразуване на ципираните стойности обратно към индивидуалното Аз, каквито са били. Това става с помощта на оператора “*”. Така че сега, ако искаме да поставим старите стойности в listA и listB от компресиран списък zl, тогава трябва да разархивираме zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA и listB и го поставете в един списък zl zl = zip (listA, listB) zl = list (zl) print (zl) #unzip zl и върнете стойностите обратно в listA и listB listA, listB = zip (* zl) print (listA) print (listB)

Изход:

[(1, „a“), (2, „b“), (3, „c“), (4, „d“)]
(1, 2, 3, 4)
(„A“, „b“, „c“, „d“)

За да разберем ясно разликата, вземаме две нови променливи и поставяме разархивираните данни в това.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) print (zl) listC, listD = zip (* zl) print (listC) print (listD) print (listA) print (listB)

Изход:

[(1, „a“), (2, „b“), (3, „c“), (4, „d“)]
(1, 2, 3, 4, 5)
('а б В Г Д')
[1, 2, 3, 4, 5]
['а б В Г Д']

Както можете да видите, listA и listB са списъци, а listC и listD са показани като кортежи, показани като изход. Това е единствената малка разлика.

С това стигнахме до края на тази Zip функция в статията на Python. Надявам се, че сте научили добре понятията и затова го изпробвайте, за да бъдете по-точни.

функция на Фибоначи c ++

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог „Zip функция в Python“ и ние ще се свържем с вас възможно най-скоро.

За да получите задълбочени познания за Python заедно с различните му приложения, можете с нашето онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.