logo

zip() Pythonissa

Python zip() -menetelmä ottaa iteroitavia säilöjä ja palauttaa yhden iteraattoriobjektin, jolla on kartoitetut arvot kaikista säilöistä.

Python zip() -syntaksi

Se on tottunut kartoittaa useiden säilöjen samankaltaiset hakemistot, jotta niitä voidaan käyttää vain yhdellä kokonaisuudella.



Syntaksi : zip (*iteraattorit)

Parametrit: Pythonin iteroitavat tai säilöt (luettelo, merkkijono jne.)
Palautusarvo: Palauttaa yhden iteraattoriobjektin.

zip() Python-esimerkeissä

Python zip() luetteloineen

Sisään Python , zip()-funktiota käytetään yhdistämään kaksi tai useampia luetteloita (tai muut iteroitavat) yhdeksi iteroitavaksi, jossa elementit vastaavista paikoista yhdistetään toisiinsa. Tuloksena oleva iterable sisältää tuples , jossa kunkin luettelon ensimmäinen elementti on paritettu yhteen, kunkin luettelon toinen elementti on paritettu yhteen ja niin edelleen.



Python 3


matka mutta





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

>

>

Lähtö

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

Python zip() ja enumerate

Yhdistelmä zip() ja luetella() on hyödyllinen skenaarioissa, joissa haluat käsitellä useita listoja tai monikkoja rinnakkain ja sinun on myös käytettävä niiden indeksejä mihin tahansa tiettyyn tarkoitukseen.

Python 3




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

>

>

Lähtö

0 Mukesh 24 1 Roni 50 2 Chari 18>

Python zip() sanakirjalla

Pythonin zip()-funktiota käytetään kahden tai useamman iteroitavan yhdistämiseen sanakirjoja yhdeksi iteroitavaksi, jossa vastaavat elementit syöte-iterablesta yhdistetään monikkoina. Käytettäessä zip():tä sanakirjojen kanssa, se yhdistää sanakirjojen avaimet ja arvot niiden sijainnin perusteella sanakirjassa.

Python 3




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

>

>

Lähtö

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

Python zip() ja Tuple

Kun sitä käytetään monikoiden kanssa, postinumero() toimii yhdistämällä elementit monikoista niiden sijainnin perusteella. Tuloksena oleva iterable sisältää monikot, joissa i:s monikko sisältää i:nnen elementin jokaisesta syötetyistosta.

Python 3




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

>

>

Lähtö:

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

Python zip() useilla iterablesilla

Pythonin zip()-funktiota voidaan käyttää myös useamman kuin kahden iteroitavan yhdistämiseen. Se voi ottaa syötteenä useita iteroitavia ja palauttaa monikoiden iteroitavuuden, jossa jokainen monikko sisältää elementtejä syöte iteraatioiden vastaavista paikoista.

Python 3




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

>

>

Lähtö

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

Epätasaisen kokoiset vetoketjut

Zip()-funktio toistaa vain pienimmän läpäisyn listan. Jos annetaan eripituisia listoja, tuloksena oleva yhdistelmä on vain niin pitkä kuin pienin lista on läpäissyt. Seuraavassa koodiesimerkissä:

Python 3




# 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)>

>

>

Lähtö

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

Purkaminen käyttämällä zip()

Purkaminen tarkoittaa pakattujen arvojen muuntamista takaisin yksilöllisiksi itseksi sellaisinaan. Tämä tehdään avulla * operaattori.

Python 3




# 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)>

>

>

Lähtö

string.replaceall javassa
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():n käyttäminen Python Loopsin kanssa

On olemassa monia mahdollisia sovelluksia, joiden voidaan sanoa suoritettavan zip:llä, olipa se sitten opiskelijatietokanta tai tuloskortti tai mikä tahansa muu apuohjelma, joka vaatii ryhmien kartoittamista. Alla on pieni esimerkki tuloskortista.

Python 3




# 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))>

>

>

Lähtö

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