logo

zip () Python

Python zip() metode ņem iterējamos konteinerus un atgriež vienu iteratora objektu, kuram ir kartētas vērtības no visiem konteineriem.

Python zip() sintakse

Tā ir pieradusi kartēt līdzīgu vairāku konteineru indeksu, lai tos varētu izmantot, izmantojot tikai vienu entītiju.

Sintakse : zip (*iteratori)



Parametri: Python atkārtojamie vai konteineri (saraksts, virkne utt.)
Atgriešanas vērtība: Atgriež vienu iteratora objektu.

zip() Python piemēros

Python zip() ar sarakstiem

In Python , funkcija zip() tiek izmantota, lai apvienotu divas vai vairākas sarakstus (vai jebkuru citu iterējamu) vienā iterējamā, kur elementi no atbilstošām pozīcijām ir savienoti pārī kopā. Iegūtais iterable satur korteži , kur pirmais elements no katra saraksta ir savienots pārī, otrais elements no katra saraksta ir savienots pārī utt.

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

>

>

Izvade

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

Python zip() ar enumerate

Zip() un kombinācija uzskaitīt () ir noderīgs scenārijos, kad vēlaties paralēli apstrādāt vairākus sarakstus vai kortežus, kā arī ir jāpiekļūst to indeksiem jebkuram konkrētam mērķim.

Python3




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

>

>

Izvade

0 Mukesh 24 1 Roni 50 2 Chari 18>

Python zip() ar vārdnīcu

Funkcija zip() programmā Python tiek izmantota, lai apvienotu divus vai vairākus atkārtojamus vārdnīcas vienā iterējamā, kur atbilstošie elementi no ievades atkārtojamības tiek savienoti pārī kā korteži. Izmantojot zip() ar vārdnīcām, tas sapāro vārdnīcu atslēgas un vērtības, pamatojoties uz to atrašanās vietu vārdnīcā.

Python3




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

>

>

Izvade

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

Python zip() ar Tuple

Lietojot kopā ar kortežām, zip() darbojas, sapārojot elementus no kortežām, pamatojoties uz to pozīcijām. Iegūtā iterējamā daļa satur korteņus, kur i-tajā kortežā ir i-tais elements no katras ievades kortežas.

Python3

rekha filmu aktrise




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

>

>

Izvade:

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

Python zip() ar vairākiem iterējamiem variantiem

Python zip() funkciju var izmantot arī, lai apvienotu vairāk nekā divus atkārtojumus. Tas var izmantot vairākus iterables kā ievadi un atgriezt korežu atkārtojumu, kur katrs kortežs satur elementus no atbilstošajām ievades iterāciju pozīcijām.

Python3




binārā meklēšana java
list1>=> [>1>,>2>,>3>]> list2>=> [>'a'>,>'b'>,>'c'>]> list3>=> [>'x'>,>'y'>,>'z'>]> zipped>=> zip>(list1, list2, list3)> result>=> list>(zipped)> print>(result)>

>

>

Izvade

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

Nevienāda izmēra rāvējslēdzēju saraksti

Funkcija zip() atkārtos tikai mazāko nodoto sarakstu. Ja tiek doti dažāda garuma saraksti, iegūtā kombinācija būs tikai tik gara, cik ir izturēts mazākais saraksts. Šajā koda piemērā:

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

>

>

Izvade

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

Izpakošana, izmantojot zip()

Izpakošana nozīmē zip vērtību konvertēšanu atpakaļ uz individuālo sevi, kā tās bija. Tas tiek darīts ar palīdzību * operators.

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

>

>

Izvade

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() izmantošana ar Python Loops

Ir daudzas iespējamās lietojumprogrammas, par kurām var teikt, ka tās tiek izpildītas, izmantojot zip studentu datubāze vai rezultātu karte vai jebkura cita utilīta, kurai nepieciešama grupu kartēšana. Tālāk ir parādīts neliels rādītāju kartes piemērs.

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

>

>

Izvade

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