Hvad er Zip og UnZip-funktion i Python?

Denne artikel vil give dig en detaljeret og omfattende viden om Zip-funktion i Python, hvordan den bruges, og hvordan man også pakker ud.

Har du nogensinde spekuleret på, hvordan vi kan tage et element hver fra to forskellige lister og lave dem som et par og placere dem på en ny liste? Dette koncept bortset fra at være interessant, er meget nyttigt i mange specialiseringsområder. Lad os blive introduceret til zip-funktion i Python i følgende rækkefølge:



Zip-funktion i Python

Zip-funktion i Python



zip () -funktionen er en indbygget funktion, og den tager et vilkårligt antal iterables og returnerer en liste over tupler. Tithets ith-element oprettes ved hjælp af ith-elementet fra hver af iterablerne.

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

Produktion:



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

Lynlås i Python 3

I Python 3, når vi udfører ovenstående kode, får vi ikke det samme resultat. I stedet får vi:



Prøve det!

Dette skyldes, at zip-metoder returnerer et zip-objekt i stedet for en liste. Dette zip-objekt er en iterator. Med andre ord returnerer et enkelt iteratorobjekt, der har kortlagt værdier fra alle containerne. Så for at få værdierne konverterer vi enten zl (fra ovenstående kode) til liste, sæt eller noget.

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

Produktion:

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

Udpakning i Python

Udpakning betyder at konvertere de zippede værdier tilbage til det individuelle selv, som de var. Dette gøres ved hjælp af '*' -operatøren. Så nu, hvis vi vil sætte de gamle værdier i listeA og listeB fra zippet liste zl, så er vi nødt til at pakke ud zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA og listB og læg den i en liste zl zl = zip (listA, listB) zl = liste (zl) udskriv (zl) #unzip zl og sæt værdierne tilbage til listeA og listeB listeA, listeB = zip (* zl) udskriv (listeA) udskriv (listeB)

Produktion:

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

For tydeligt at forstå forskellen tager vi to nye variabler og sætter de udpakkede data i det.

listeA = [1, 2, 3, 4] listeB = ['a', 'b', 'c', 'd'] zl = zip (listeA, listeB) zl = liste (zl) udskriv (zl) liste C, listeD = zip (* zl) udskrivning (listeC) udskrivning (listeD) udskrivning (listeA) udskrivning (listeB)

Produktion:

[(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']

Som du kan se, er listA og listB lister, og listC og listD vises som tupler vist som output. Det er den eneste mindre forskel.

Med dette kommer vi til slutningen af ​​denne Zip-funktion i Python-artiklen. Jeg håber, at du har lært begreberne godt og derfor prøver at være mere præcise.

python __init__ klasse

Har du et spørgsmål til os? Nævn det i kommentarfeltet på denne 'Zip-funktion i Python' -blog, og vi vender tilbage til dig hurtigst muligt.

For at få indgående kendskab til Python sammen med dens forskellige applikationer kan du med vores live online træning med support døgnet rundt og adgang til livet.