Python'da Aynı Anda Sıralı Veri Yapılarını Döngüye Almak

Aynı anda birden fazla sıralı veri yapısını döngüye almak için zip fonksiyonu kullanılabilir. Bu durumda, tüm sıralı veri yapılarının elemanları, aynı indekse sahip elemanlardan oluşan demetler (tuple) halinde yazdırılacaktır.

Örnek

Elimizde iki liste olduğunu varsayalım:

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

Şimdi bu elemanları çiftler halinde yazdıralım:

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

Kodun çalıştırılması sonucu:

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

Örnek

Farklı türdeki sıralı veri yapıları da döngüye alınabilir. Bir küme (set) ve bir demeti (tuple) zip fonksiyonu ve döngüden geçirelim:

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

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

Kodun çalıştırılması sonucu:

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

Örnek

Eğer bir sıralı veri yapısının uzunluğu ikincisinden daha büyükse, döngüleme daha kısa olanın elemanları bitene kadar devam eder:

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

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

Kodun çalıştırılması sonucu:

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

Örnek

zip fonksiyonu kullanılarak üç sıralı veri yapısı da döngüye alınabilir. Bunun için fonksiyonun parametresinde hepsini virgülle ayırarak yazıyoruz:

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

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

Kodun çalıştırılması sonucu:

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

Pratik Görevler

Задание 1

İki liste verilmiştir:

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

Elemanlarını çiftler halinde demet olarak yazdırın.

Задание 2

İki liste verilmiştir:

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

Bunlardan aşağıdaki listeyi elde edin:

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

Üç liste verilmiştir:

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

Bu listelerin karşılık gelen elemanlarını toplayın ve sonucu yeni bir listeye yazın. Toplama işlemi aşağıdaki şekilde yapılacaktır:

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