Kaj je funkcija Zip in UnZip v Pythonu?



Ta članek vam bo zagotovil podrobno in celovito znanje o funkciji zip v Pythonu, kako se uporablja in kako tudi razpakirati.

Ste se kdaj vprašali, kako lahko vzamemo po en element z dveh različnih seznamov, jih sestavimo v paru in jih postavimo na nov seznam? No, ta koncept je poleg tega, da je zanimiv, zelo koristen na mnogih področjih specializacije. Uvedimo funkcijo zip v Pythonu v naslednjem vrstnem redu:

Zip funkcija v Pythonu

Zip funkcija v Pythonu





zip () funkcija je vgrajena funkcija in zavzame poljubno število ponovitev in vrne seznam nabora. I-ti element tuple je ustvarjen z uporabo i-tega elementa iz vsakega od ponovljivih elementov.

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

Izhod:



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

Zip v Pythonu 3

V Pythonu 3, ko izvedemo zgornjo kodo, ne bomo dobili enakega rezultata. Namesto tega bomo dobili:



kaj je pojo spomladi

Poskusi!

To je zato, ker metode zip namesto seznama vrnejo zip objekt. Ta zip objekt je iterator. Z drugimi besedami, vrne en predmet iteratorja, ki je preslikal vrednosti iz vseh vsebnikov. Torej, da dobimo vrednosti, pretvorimo zl (iz zgornje kode) v seznam, nastavitev ali kar koli drugega.

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

Izhod:

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

Razpakiranje v Pythonu

Razpakiranje pomeni pretvorbo stisnjenih vrednosti nazaj v posameznika, kakršne so bile. To se naredi s pomočjo operaterja *. Torej, če želimo stare vrednosti vstaviti v seznamA in seznamB iz stisnjenega seznama zl, potem moramo razpakirati zl.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA in listB in ga daj na en seznam zl zl = zip (seznamA, seznamB) zl = seznam (zl) print (zl) #unzip zl in vrnite vrednosti na seznamA in seznamB seznamA, seznamB = zip (* zl) print (listA) print (listB)

Izhod:

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

Da bi jasno razumeli razliko, vzamemo dve novi spremenljivki in vanjo vstavimo razpakirane podatke.

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)

Izhod:

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

Kot lahko vidite, sta seznamA in seznamB seznama, seznamC in seznamD pa sta prikazana kot nabora, ki sta prikazana kot rezultat. To je edina manjša razlika.

S tem smo prišli do konca tega članka Zip Function v Pythonu. Upam, da ste se konceptov dobro naučili in zato preizkusite bolj natančno.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega bloga 'Zip Function in Python' in v najkrajšem možnem času se vam bomo oglasili.

Če želite poglobljeno znanje Pythona in njegovih različnih aplikacij, lahko z našim spletnim treningom v živo s podporo 24 ur na dan in 7 dni v tednu.