Computer >> Máy Tính >  >> Lập trình >> Python

Sản phẩm cột Tuple lồng nhau tích lũy bằng Python

Nếu bắt buộc phải tìm sản phẩm cột tích lũy của một bộ tuple lồng nhau, có thể sử dụng phương thức 'zip' và biểu thức trình tạo lồng nhau.

Generator là một cách đơn giản để tạo trình vòng lặp. Nó tự động triển khai một lớp với các phương thức '__iter __ ()' và '__next __ ()' và theo dõi các trạng thái bên trong, cũng như tăng ngoại lệ 'StopIteration' khi không có giá trị nào có thể được trả về.

Phương thức zip lấy các tệp lặp lại, tổng hợp chúng thành một bộ và trả về kết quả là.

Dưới đây là một minh chứng về điều tương tự -

Ví dụ

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)

Đầu ra

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))

Giải thích

  • Hai bộ giá trị (hoặc bộ giá trị lồng nhau) được xác định và chúng được hiển thị trên bảng điều khiển.
  • Hai bộ giá trị được nén và lặp lại và các giá trị tương ứng được nhân lên.
  • Sau đó, giá trị này được chuyển đổi thành một tuple, được gán cho một biến.
  • Biến này được hiển thị dưới dạng đầu ra trên bảng điều khiển.