Fungsi zip
Fungsi zip mencipta iterator,
yang menggabungkan elemen-elemen dari jujukan
(senarai, tupel, set). Fungsi
mengembalikan iterator, di mana semua elemen
jujukan pertama dan kedua digabungkan
bersama mengikut urutan. Dalam parameter fungsi
kita nyatakan semua tupel, senarai, set
dan lain-lain yang kita minati.
Sintaks
zip(jujukan pertama, jujukan kedua dan seterusnya)
Contoh
Mari kita gunakan fungsi zip untuk membuat
tupel baharu berdasarkan dua tupel asal:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Keputusan pelaksanaan kod:
(('a', 1), ('b', 2), ('c', 3))
Contoh
Sekarang mari kita gunakan fungsi zip
untuk membuat tupel baharu berdasarkan dua senarai:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Keputusan pelaksanaan kod:
(('d', 4), ('e', 5), ('f', 6))
Contoh
Mari kita cipta tupel dari dua set:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Keputusan pelaksanaan kod:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Contoh
Sekarang mari kita cipta tupel dari tiga set:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Keputusan pelaksanaan kod:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Contoh
Dengan fungsi zip, kita boleh
melakukan lelaran ke atas beberapa objek secara serentak.
Mari kita cuba lelarkan tiga senarai sebagai contoh:
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)
Keputusan pelaksanaan kod:
1 4 7
2 5 8
3 6 9