zip Fonksiyonu
zip fonksiyonu, dizilerdeki (listeler, demetler, kümeler)
öğeleri birleştiren bir yineleyici oluşturur. Fonksiyon,
içindeki tüm öğelerin birinci ve ikinci dizilerdeki sırayla
birleştirildiği bir yineleyici döndürür. Fonksiyonun parametresinde
bizim için ilgi çekici olan tüm demetleri, listeleri, kümeleri vb. belirtiriz.
Sözdizimi
zip(birinci dizi, ikinci dizi vb.)
Örnek
Haydi zip fonksiyonunu kullanarak iki kaynak demetten
yeni bir demet oluşturalım:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Kodun çalıştırılma sonucu:
(('a', 1), ('b', 2), ('c', 3))
Örnek
Şimdi ise zip fonksiyonunu kullanarak iki listeden
yeni bir demet oluşturalım:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Kodun çalıştırılma sonucu:
(('d', 4), ('e', 5), ('f', 6))
Örnek
Haydi iki kümeden bir demet oluşturalım:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Kodun çalıştırılma sonucu:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Örnek
Şimdi ise üç kümeden bir demet oluşturalım:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Kodun çalıştırılma sonucu:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Örnek
zip fonksiyonu kullanılarak birden fazla nesne
aynı anda döngüye alınabilir. Örnek olarak üç listeyi döngüye alalım:
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst3 = [7, 8, 9]
for el1, el2, el3 in zip(lst1, lst2, lst3):
print(el1, el2, el3)
Kodun çalıştırılma sonucu:
1 4 7
2 5 8
3 6 9