Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ผลิตภัณฑ์คอลัมน์ทูเพิลที่ซ้อนกันแบบสะสมใน Python


หากจำเป็นต้องค้นหาผลคูณคอลัมน์สะสมของทูเพิลที่ซ้อนกัน สามารถใช้เมธอด '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))

คำอธิบาย

  • ทูเพิลสองตัวของทูเพิล (หรือทูเพิลที่ซ้อนกัน) ถูกกำหนดไว้แล้ว และพวกมันจะแสดงบนคอนโซล
  • ทูเพิลทั้งสองถูกบีบอัด และวนซ้ำ และค่าตามลำดับจะถูกคูณ
  • จากนั้นจะถูกแปลงเป็นทูเพิล ซึ่งถูกกำหนดให้กับตัวแปร
  • ตัวแปรนี้แสดงเป็นเอาต์พุตบนคอนโซล