Mis on Pythonis funktsioon Zip ja UnZip?



See artikkel annab teile üksikasjalikud ja terviklikud teadmised Pythoni zip-funktsioonist, kuidas seda kasutatakse ja kuidas ka lahti pakkida.

Kas olete mõelnud, kuidas saaksime võtta ühe elemendi kahest erinevast loendist, teha need paarina ja panna uude loendisse? Noh, see mõiste peale selle, et see on huvitav, on väga kasulik paljudes spetsialiseerumisvaldkondades. Tutvustame Pythoni zip-funktsiooni järgmises järjekorras:

Zip-funktsioon Pythonis

Zip-funktsioon Pythonis





zip () funktsioon on sisseehitatud funktsioon ja see võtab suvalise arvu iterable-sid ja tagastab rühmade loendi. Kahekordne i element luuakse igast korduvast elemendist koosneva i-nda elemendi abil.

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

Väljund:



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

Zip Python 3-s

Kui Python 3-s täidame ülaltoodud koodi, ei saa me sama tulemust. Selle asemel saame:



isa ja hasa suhe javas

Proovi!

Seda seetõttu, et zip-meetodid tagastavad loendi asemel zip-objekti. See zip-objekt on iteraator. Teisisõnu tagastab ühe iteraatori objekti, millel on kaardistatud kõigi konteinerite väärtused. Nii et väärtuste saamiseks teisendame zl (ülaltoodud koodist) loendisse, komplekti või muuks.

nimekiriA = [1, 2, 3, 4] loendB = ['a', 'b', 'c', 'd'] zl = zip (loendA, loendB) zl = loend (zl) print (zl)

Väljund:

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

Tühjendamine Pythonis

Lahti pakkimine tähendab tõmblukuga väärtuste teisendamist individuaalseks minaks nagu nad olid. Seda tehakse operaatori “*” abil. Nii et nüüd, kui tahame vanad väärtused lisada A ja B nimekirjast zl, siis peame zl lahti pakkima.

nimekiriA = [1, 2, 3, 4] loendB = ['a', 'b', 'c', 'd'] #zip loendA ja loendB ning pani selle ühte loendisse zl = loend (zl) print (zl) #unzip zl ja pane väärtused tagasi loendisseA ja loendB loendA, loendB = zip (* zl) print (loendA) print (loendB)

Väljund:

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

Erinevuse selgeks mõistmiseks võtame kaks uut muutujat ja paneme sellesse pakkimata andmed.

nimekiriA = [1, 2, 3, 4] loendB = ['a', 'b', 'c', 'd'] zl = zip (loendA, loendB) zl = loend (zl) print (zl) loendC, loendD = zip (* zl) print (loendC) print (loendD) print (loendA) print (loendB)

Väljund:

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

Nagu näete, on nimekiri A ja loend B loendid ning loendit C ja loendit D näidatakse väljunditena. See on ainus väike erinevus.

Sellega jõuame Pythoni artiklis selle Zip-funktsiooni lõpuni. Loodan, et õppisite mõisted hästi ära ja proovisite seetõttu täpsemad olla.

Kas teil on meile küsimus? Palun mainige seda selle ajaveebi „Zip Function in Python” kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.

Pythoni ja selle erinevate rakenduste põhjalike teadmiste saamiseks saate seda teha meie reaalajas veebikoolitusega, millel on ööpäevaringne tugi ja juurdepääs kogu elule.