หากจำเป็นต้องค้นหาผลคูณคอลัมน์สะสมของทูเพิลที่ซ้อนกัน สามารถใช้เมธอด 'zip' และนิพจน์ตัวสร้างที่ซ้อนกันได้
ตัวสร้างคือวิธีง่ายๆ ในการสร้างตัววนซ้ำ มันใช้คลาสโดยอัตโนมัติด้วยเมธอด '__iter__()' และ '__next__()' และติดตามสถานะภายใน รวมทั้งยกข้อยกเว้น 'StopIteration' เมื่อไม่มีค่าที่สามารถส่งคืนได้
วิธีการ zip นำ iterables มารวมเข้าด้วยกันเป็น tuple และส่งกลับเป็นผลลัพธ์
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
tuple_1 = ((11, 23), (41, 25), (22, 19)) tuple_2 = ((60, 73), (31, 91), (14, 14)) print("The first tuple is : ") print(tuple_1) print("The second tuple is : ") print(tuple_2) my_result = tuple(tuple(a * b for a, b in zip(tup_1, tup_2)) for tup_1, tup_2 in zip(tuple_1, tuple_2)) print("The tuple after product is : " ) print(my_result)
ผลลัพธ์
The first tuple is : ((11, 23), (41, 25), (22, 19)) The second tuple is : ((60, 73), (31, 91), (14, 14)) The tuple after product is : ((660, 1679), (1271, 2275), (308, 266))
คำอธิบาย
- ทูเพิลสองตัวของทูเพิล (หรือทูเพิลที่ซ้อนกัน) ถูกกำหนดไว้แล้ว และพวกมันจะแสดงบนคอนโซล
- ทูเพิลทั้งสองถูกบีบอัด และวนซ้ำ และค่าตามลำดับจะถูกคูณ
- จากนั้นจะถูกแปลงเป็นทูเพิล ซึ่งถูกกำหนดให้กับตัวแปร
- ตัวแปรนี้แสดงเป็นเอาต์พุตบนคอนโซล