Ano ang Zip at UnZip Function sa Python?



Magbibigay sa iyo ang artikulong ito ng isang detalyado at komprehensibong kaalaman tungkol sa Zip Function sa Python, kung paano ito ginagamit at kung paano i-unzip din.

Naisip mo ba kung paano kami makakakuha ng isang elemento bawat isa mula sa dalawang magkakaibang listahan at gawin silang isang pares at ilagay sila sa isang bagong listahan? Sa gayon ang konseptong ito bukod sa nakakainteres ay napaka kapaki-pakinabang sa maraming mga lugar na pagdadalubhasa. Ipakilala sa pagpapaandar ng zip sa Python sa Sumusunod na pagkakasunud-sunod:

Zip Function sa Python

Zip Function sa Python





Ang pagpapaandar ng zip () ay isang built-in na pag-andar at tumatagal ng anumang bilang ng mga iterable at nagbabalik ng isang listahan ng mga tuple. Ang elemento ng ith ng tuple ay nilikha gamit ang ith na elemento mula sa bawat isa sa mga iterable.

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

Output:



java mahanap ang pinakamataas na halaga sa array

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]

Zip sa Python 3

Sa Python 3, kapag ipinatupad namin ang code sa itaas, hindi kami makakakuha ng parehong resulta. Sa halip, makukuha namin ang:



Subukan!

Ito ay dahil ang mga pamamaraan ng zip ay nagbabalik ng isang zip object sa halip na isang listahan. Ang zip object na ito ay isang iterator. Sa madaling salita, nagbabalik ng isang solong bagay ng iterator, na may mga nai-mapa na halaga mula sa lahat ng mga container. Kaya upang makuha ang mga halaga, mai-convert namin ang zl (mula sa itaas na code) sa listahan, itinakda o anupaman.

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

Output:

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]

Pag-unzipping sa Python

Ang pag-zip ay nangangahulugang pag-convert ng mga na-zip na halaga pabalik sa indibidwal na sarili tulad ng dati. Ginagawa ito sa tulong ng operator na '*'. Kaya ngayon, kung nais naming ilagay ang mga lumang halaga sa listA at listB mula sa naka-zip na listahan ng zl, kung gayon kailangan nating i-unzip ang zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA at listB at ilagay ito sa isang listahan zl zl = zip (listA, listB) zl = list (zl) print (zl) #unzip zl at ibalik ang mga halaga sa listA at listB listA, listB = zip (* zl) print (listA) print (listB)

Output:

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]
(1, 2, 3, 4)
('a B C D')

Upang malinaw na maunawaan ang pagkakaiba, kumukuha kami ng dalawang bagong variable at inilalagay doon ang hindi naka-zip na data.

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)

Output:

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]
(1, 2, 3, 4, 5)
('A', 'b', 'c', 'd', 'e')
[1, 2, 3, 4, 5]
['A', 'b', 'c', 'd', 'e']

Tulad ng nakikita mo, ang listA at listB ay mga listahan at listC at listD ay ipinapakita bilang mga tuple na ipinapakita bilang output. Iyon lamang ang maliit na pagkakaiba.

Sa pamamagitan nito, natapos namin ang Zip Function na ito sa artikulong Python. Inaasahan kong natutunan mo nang mabuti ang mga konsepto at kaya't subukan ito upang maging mas tumpak.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'Zip Function in Python' at babalikan ka namin sa lalong madaling panahon.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari mo sa aming live na pagsasanay sa online na may suporta na 24/7 at habang-buhay na pag-access.