⊗pyPmLpSI 158 of 208 menu

Истовременна итерација низ секвенце у Пајтону

Да бисте истовремено итерирали кроз више секвенци, можете применити функцију zip. При томе ће сви елементи секвенци бити приказани у облику торки (tuple), које се састоје од елемената са истим индексом.

Пример

Претпоставимо да имамо две листе:

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

Хајде да испишемо њихове елементе у паровима:

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

Резултат извршеног кода:

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

Пример

Можете итерирати и кроз секвенце различитих типова. Хајде да пропустимо кроз петљу и функцију zip скуп (set) и торку (tuple):

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

Резултат извршеног кода:

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

Пример

Ако је дужина једне секвенце већа од друге, итерација ће се вршити до елемената краће:

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

Резултат извршеног кода:

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

Пример

Користећи функцију zip можете итерирати и кроз три секвенце. За то у параметрима функције наводимо све њих одвојене зарезом:

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

Резултат извршеног кода:

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

Практични задаци

Дате су две листе:

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

Испишите њихове елементе у паровима у облику торки.

Дате су две листе:

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

Добијте од њих следећу листу:

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

Дате су три листе:

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

Саберите одговарајуће елементе ових листи и резултат уписати у нову листу. Сабирање ће се вршити по следећем принципу:

[ 11 + 21 + 31, 12 + 22 + 32, 13 + 23 + 33, 14 + 24 + 34, ]
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј