เมื่อจำเป็นต้องดำเนินการเพิ่มในทูเพิลที่ซ้อนกัน สามารถใช้เมธอด 'zip' และนิพจน์ตัวสร้างได้
ตัวสร้างคือวิธีง่ายๆ ในการสร้างตัววนซ้ำ มันใช้คลาสโดยอัตโนมัติด้วยเมธอด '__iter__()' และ '__next__()' และติดตามสถานะภายใน รวมทั้งยกข้อยกเว้น 'StopIteration' เมื่อไม่มีค่าที่สามารถส่งคืนได้
วิธีการ zip นำ iterables มารวมเข้าด้วยกันเป็น tuple และส่งกลับเป็นผลลัพธ์
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
my_tuple_1 = ((7, 8), (3, 4), (3, 2)) my_tuple_2 = ((9, 6), (8, 2), (1, 4)) print ("The first tuple is : " ) print(my_tuple_1) print ("The second tuple is : " ) print(my_tuple_2) my_result = tuple(tuple(a + b for a, b in zip(tup_1, tup_2)) for tup_1, tup_2 in zip(my_tuple_1, my_tuple_2)) print("The tuple after summation is : ") print(my_result)
ผลลัพธ์
The first tuple is : ((7, 8), (3, 4), (3, 2)) The second tuple is : ((9, 6), (8, 2), (1, 4)) The tuple after summation is : ((16, 14), (11, 6), (4, 6))
คำอธิบาย
- สอง tuples ที่ซ้อนกัน/tuple ของ tuples ถูกกำหนดและแสดงบนคอนโซล
- มีการซิปและวนซ้ำ และทุกองค์ประกอบใน tuple ที่ซ้อนกันแต่ละรายการจะถูกเพิ่มเข้าไป และสร้าง tuple ใหม่ของ tuples
- ผลลัพธ์นี้ถูกกำหนดให้กับตัวแปร
- แสดงเป็นเอาต์พุตบนคอนโซล