⊗pyPmLpSI 158 of 208 menu

Gelijktijdig itereren over sequenties in Python

Om meerdere sequenties gelijktijdig te itereren, kan je de functie zip gebruiken. Hierbij worden alle elementen van de sequenties weergegeven als tupels, bestaande uit elementen met dezelfde index.

Voorbeeld

Stel we hebben twee lijsten:

lst1 = ['a', 'b', 'c'] lst2 = [1, 2, 3]

Laten we hun elementen paarsgewijs weergeven:

for el in zip(lst1, lst2): print(el)

Resultaat van de uitgevoerde code:

('a', 1) ('b', 2) ('c', 3)

Voorbeeld

Je kunt ook sequenties van verschillende typen itereren. Laten we een verzameling en een tupel door de lus en de functie zip halen:

st = {'a', 'b', 'c'} tlp = (1, 2, 3) for el in zip(st, tlp): print(el)

Resultaat van de uitgevoerde code:

('a', 1) ('b', 2) ('c', 3)

Voorbeeld

Als de lengte van de ene sequentie groter is dan de tweede, dan worden ze geïtereerd volgens de elementen van de kortste:

lst1 = ['a', 'b', 'c', 'd', 'e'] lst2 = [1, 2, 3, 4] for el in zip(lst1, lst2): print(el)

Resultaat van de uitgevoerde code:

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

Voorbeeld

Met de functie zip kun je ook drie sequenties itereren. Hiervoor sommen we ze allemaal gescheiden door komma's op in de parameter van de functie:

lst1 = ['a1', 'b1', 'c1'] lst2 = ['a2', 'b2', 'c2'] lst3 = ['a3', 'b3', 'c3'] for el in zip(lst1, lst2, lst3): print(el)

Resultaat van de uitgevoerde code:

('a1', 'a2', 'a3') ('b1', 'b2', 'b3') ('c1', 'c2', 'c3')

Praktische opdrachten

Gegeven twee lijsten:

tst1 = [1, 3, 5] tst2 = [2, 4, 6]

Geef hun elementen paarsgewijs weer als een tupel.

Gegeven twee lijsten:

tst1 = ['a', 'b', 'c'] tst2 = ['d', 'e', 'f']

Verkrijg hieruit de volgende lijst:

['a', '1', 'b', '2', 'c', '3']

Gegeven drie lijsten:

tst1 = [11, 12, 13, 14] tst2 = [21, 22, 23, 24] tst3 = [31, 32, 33, 34]

Tel de overeenkomstige elementen van deze lijsten op en schrijf het resultaat in een nieuwe lijst. De optelling verloopt volgens het volgende principe:

[ 11 + 21 + 31, 12 + 22 + 32, 13 + 23 + 33, 14 + 24 + 34, ]
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren