ฟังก์ชัน zip

ฟังก์ชัน zip สร้างตัววนซ้ำ ที่รวมองค์ประกอบจากหลายๆ ลำดับ (ลิสต์, ทูเพิล, เซต) ฟังก์ชัน คืนค่าตัววนซ้ำ ซึ่งองค์ประกอบทั้งหมดของ ลำดับแรกและลำดับต่อๆ มาถูกรวมเข้าด้วยกันตามลำดับ ในพารามิเตอร์ของฟังก์ชัน เราระบุทูเพิล ลิสต์ เซต ฯลฯ ทั้งหมดที่เราสนใจ

ไวยากรณ์

pythonzip(ลำดับแรก, ลำดับที่สอง, ฯลฯ)

ตัวอย่าง

ลองใช้ฟังก์ชัน zip สร้าง ทูเพิลใหม่จากสองทูเพิลต้นฉบับ:

pythontlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)

res = zip(tlp1, tlp2)
print(tuple(res))

ผลลัพธ์จากการรันโค้ด:

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

ตัวอย่าง

คราวนี้ลองใช้ฟังก์ชัน zip สร้างทูเพิลใหม่จากสองลิสต์:

pythonlst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]

res = zip(lst1, lst2)
print(tuple(res))

ผลลัพธ์จากการรันโค้ด:

python(('d', 4), ('e', 5), ('f', 6))

ตัวอย่าง

ลองสร้างทูเพิลจากสองเซต:

pythonst1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}

res = zip(st1, st2)
print(tuple(res))

ผลลัพธ์จากการรันโค้ด:

python(('a', 'd'), ('c', 'e'), ('b', 'f'))

ตัวอย่าง

คราวนี้ลองสร้างทูเพิลจากสาม เซต:

pythonst1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}

res = zip(st1, st2, st3)
print(tuple(res))

ผลลัพธ์จากการรันโค้ด:

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

ตัวอย่าง

ใช้ฟังก์ชัน zip สามารถ วนลูปผ่านหลายอ็อบเจกต์ได้พร้อมกัน ลองตัวอย่างการวนลูปสามลิสต์:

pythonlst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst3 = [7, 8, 9]

for el1, el2, el3 in zip(lst1, lst2, lst3):
  print(el1, el2, el3)

ผลลัพธ์จากการรันโค้ด:

python1 4 7
2 5 8
3 6 9

ดูเพิ่มเติม

  • ฟังก์ชัน filter,
    ซึ่งกรองออบเจกต์ที่วนซ้ำได้
  • ฟังก์ชัน map,
    ซึ่งวนซ้ำออบเจกต์ที่วนซ้ำได้