თანმიმდევრობების ერთდროული გადარჩევა Python-ში

რამდენიმე თანმიმდევრობის ერთდროულად გადასარიგებლად, შეგიძლიათ გამოიყენოთ ფუნქცია zip. ამ შემთხვევაში ყველა ელემენტი თანმიმდევრობებიდან გამოჩნდება კორტეჟების სახით, რომელიც შედგება ელემენტებისგან ერთიდაიგივე ინდექსით.

მაგალითი

დავუშვათ გვაქვს ორი სია:

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

მოდით, წყვილ-წყვილად გამოვიტანოთ მათი ელემენტები:

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

შესრულებული კოდის შედეგი:

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

მაგალითი

შესაძლებელია სხვადასხვა ტიპის თანმიმდევრობების გადარჩევაც. მოდით, ციკლის და ფუნქციის zip მეშვეობით გავატაროთ სიმრავლე და კორტეჟი:

pythonst = {'a', 'b', 'c'}
tlp = (1, 2, 3)

for el in zip(st, tlp):
  print(el)

შესრულებული კოდის შედეგი:

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

მაგალითი

თუ ერთი თანმიმდევრობის სიგრძე მეორეზე მეტია, მაშინ მათი გადარჩევა მოხდება უფრო მოკლე თანმიმდევრობის ელემენტების მიხედვით:

pythonlst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = [1, 2, 3, 4]

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

შესრულებული კოდის შედეგი:

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

მაგალითი

ფუნქციის zip მეშვეობით შესაძლებელია გადავუაროთ სამ თანმიმდევრობასაც. ამისთვის ფუნქციის პარამეტრში ჩვენ ვჩამოვთვლით მათ ყველას მძიმით გამოყოფილს:

pythonlst1 = ['a1', 'b1', 'c1']
lst2 = ['a2', 'b2', 'c2']
lst3 = ['a3', 'b3', 'c3']

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

შესრულებული კოდის შედეგი:

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

პრაქტიკული ამოცანები

Задание 1

მოცემულია ორი სია:

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

გამოიტანეთ მათი ელემენტები წყვილ-წყვილად კორტეჟის სახით.

Задание 2

მოცემულია ორი სია:

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

მიიღეთ მათგან შემდეგი სია:

python['a', '1', 'b', '2', 'c', '3']
Задание 3

მოცემულია სამი სია:

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

დაამატეთ ამ სიების შესაბამისი ელემენტები და შედეგი ჩაწერეთ ახალ სიაში. შეკრება მოხდება შემდეგი პრინციპით:

python[
  11 + 21 + 31,
  12 + 22 + 32,
  13 + 23 + 33,
  14 + 24 + 34,
]