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>