logo

zip () Python

Python zip() metodas paima iteruojamus konteinerius ir grąžina vieną iteratoriaus objektą, turintį susietas reikšmes iš visų konteinerių.

Python zip() sintaksė

Taip pripratę susieti panašų kelių konteinerių indeksą, kad juos būtų galima naudoti tik naudojant vieną objektą.



Sintaksė: zip (*iteratoriai)

Parametrai: „Python“ kartojami elementai arba konteineriai (sąrašas, eilutė ir kt.)
Grąžinimo vertė: Grąžina vieną iteratoriaus objektą.

zip() Python pavyzdžiuose

Python zip() su sąrašais

Į Python , funkcija zip() naudojama dviem ar daugiau sujungti sąrašus (arba bet kuri kita iteruojama) į vieną kartojimą, kur elementai iš atitinkamų pozicijų suporuojami kartu. Gautoje kartotinėje yra korteles , kur pirmasis elementas iš kiekvieno sąrašo yra suporuotas kartu, antrasis elementas iš kiekvieno sąrašo yra suporuotas kartu ir pan.



Python3






name>=> [>'Manjeet'>,>'Nikhil'>,>'Shambhavi'>,>'Astha'> ]> roll_no>=> [>4>,>1>,>3>,>2> ]> # using zip() to map values> mapped>=> zip>(name, roll_no)> print>(>set>(mapped))>

>

>

Išvestis

{('Nikhil', 1), ('Shambhavi', 3), ('Manjeet', 4), ('Astha', 2)}>

Python zip() su numerate

zip() ir derinys išvardinti () yra naudinga scenarijuose, kai norite lygiagrečiai apdoroti kelis sąrašus ar eilutes, taip pat reikia pasiekti jų indeksus bet kokiam konkrečiam tikslui.

Python3




names>=> [>'Mukesh'>,>'Roni'>,>'Chari'>]> ages>=> [>24>,>50>,>18>]> for> i, (name, age)>in> enumerate>(>zip>(names, ages)):> >print>(i, name, age)>

>

>

Išvestis

0 Mukesh 24 1 Roni 50 2 Chari 18>

Python zip() su žodynu

„Python“ funkcija „zip()“ naudojama norint sujungti du ar daugiau kartotinių žodynai į vieną iteraciją, kur atitinkami elementai iš įvesties kartojimo yra suporuojami kaip eilės. Naudojant zip() su žodynais, jis suporuoja žodynų raktus ir reikšmes pagal jų vietą žodyne.

Python3




stocks>=> [>'GEEKS'>,>'For'>,>'geeks'>]> prices>=> [>2175>,>1127>,>2750>]> new_dict>=> {stocks: prices>for> stocks,> >prices>in> zip>(stocks, prices)}> print>(new_dict)>

>

>

Išvestis

{'GEEKS': 2175, 'For': 1127, 'geeks': 2750}>

Python zip() su Tuple

Kai naudojamas su kortelėmis, zip () veikia suporuodamas elementus iš eilučių pagal jų padėtį. Gautoje iteruojamoje eilutėje yra kortelių, kur i-toje kortoje yra i-tas elementas iš kiekvienos įvesties eilės.

Python3




tuple1>=> (>1>,>2>,>3>)> tuple2>=> (>'a'>,>'b'>,>'c'>)> zipped>=> zip>(tuple1, tuple2)> result>=> list>(zipped)> print>(result)>

>

>

Išvestis:

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

Python zip() su keliais pakartojimais

Python zip() funkcija taip pat gali būti naudojama norint sujungti daugiau nei dvi kartojimo eilutes. Kaip įvestį gali būti naudojamos kelios kartotinės eilės ir grąžinama sekų kartotinė, kurioje kiekvienoje kortoje yra elementai iš atitinkamų įvesties iteracijų pozicijų.

Python3




list1>=> [>1>,>2>,>3>]> list2>=> [>'a'>,>'b'>,>'c'>]> list3>=> [>'x'>,>'y'>,>'z'>]> zipped>=> zip>(list1, list2, list3)> result>=> list>(zipped)> print>(result)>

>

>

Išvestis

[(1, 'a', 'x'), (2, 'b', 'y'), (3, 'c', 'z')]>

Nevienodo dydžio užtrauktukų sąrašai

Funkcija zip() kartos tik mažiausią pateiktą sąrašą. Jei pateikiami skirtingo ilgio sąrašai, gautas derinys bus tik tiek, kiek praeis mažiausias sąrašas. Šiame kodo pavyzdyje:

Python3




# Define lists for 'persons', 'genders', and a tuple for 'ages'> persons>=> [>'Chandler'>,>'Monica'>,>'Ross'>,>'Rachel'>,>'Joey'>,>'Phoebe'>,>'Joanna'>]> genders>=> [>'Male'>,>'Female'>,>'Male'>,>'Female'>,>'Male'>,>'Female'>,>'Female'>]> ages>=> (>35>,>36>,>38>,>34>)> # Create a zipped object combining the 'persons' and 'genders'> #lists along with the 'ages' tuple> zipped_result>=> zip>(persons, genders, ages)> # Print the zipped object> print>(>'Zipped result as a list:'>)> for> i>in> list>(zipped_result):> >print>(i)>

dhanashree verma

>

>

Išvestis

Zipped result as a list: ('Chandler', 'Male', 35) ('Monica', 'Female', 36) ('Ross', 'Male', 38) ('Rachel', 'Female', 34)>

Išpakavimas naudojant zip()

Išpakavimas reiškia supakuotų reikšmių konvertavimą atgal į individualų save, koks jos buvo. Tai daroma padedant * operatorius.

Python3




# initializing lists> name>=> [>'Manjeet'>,>'Nikhil'>,>'Shambhavi'>,>'Astha'>]> roll_no>=> [>4>,>1>,>3>,>2>]> marks>=> [>40>,>50>,>60>,>70>]> # using zip() to map values> mapped>=> zip>(name, roll_no, marks)> # converting values to print as list> mapped>=> list>(mapped)> # printing resultant values> print>(>'The zipped result is : '>, end>=>'')> print>(mapped)> print>(>' '>)> # unzipping values> namz, roll_noz, marksz>=> zip>(>*>mapped)> print>(>'The unzipped result: '>, end>=>'')> # printing initial lists> print>(>'The name list is : '>, end>=>'')> print>(namz)> print>(>'The roll_no list is : '>, end>=>'')> print>(roll_noz)> print>(>'The marks list is : '>, end>=>'')> print>(marksz)>

>

>

Išvestis

The zipped result is : [('Manjeet', 4, 40), ('Nikhil', 1, 50), ('Shambhavi', 3, 60), ('Astha', 2, 70)] The unzipped result: The name list is : ('Manjeet', 'Nikhil', 'Shambhavi', 'Astha') The roll_no list is : (4, 1, 3, 2) The marks list is : (40, 50, 60, 70)>

zip() naudojimas su Python Loops

Yra daug galimų programų, kurios gali būti vykdomos naudojant zip, nesvarbu studentų duomenų bazė arba rezultatų kortelė arba bet kuri kita programa, kuriai reikalingas grupių atvaizdavimas. Žemiau parodytas nedidelis rezultatų suvestinės pavyzdys.

Python3




# Python code to demonstrate the application of> # zip()> # initializing list of players.> players>=> [>'Sachin'>,>'Sehwag'>,>'Gambhir'>,>'Dravid'>,>'Raina'>]> # initializing their scores> scores>=> [>100>,>15>,>17>,>28>,>43>]> # printing players and scores.> for> pl, sc>in> zip>(players, scores):> >print>(>'Player : %s Score : %d'> %> (pl, sc))>

>

>

Išvestis

Player : Sachin Score : 100 Player : Sehwag Score : 15 Player : Gambhir Score : 17 Player : Dravid Score : 28 Player : Raina Score : 43>