Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Hiệu từng phần tử của hai ma trận (Element-wise Matrix Difference)


Tính hiệu phần tử tương ứng của hai ma trận (list of lists) cùng kích thước. Sử dụng zip() lồng nhau để duyệt hàng và cột cùng lúc.

Ví dụ

Minh họa:

my_list_1 = [[3, 4, 4], [4, 3, 1], [4, 8, 3]]
my_list_2 = [[5, 4, 7], [9, 7, 5], [4, 8, 4]]
print("Ma trận 1:", my_list_1)
print("Ma trận 2:", my_list_2)
my_result = []
for sub_str_1, sub_str_2 in zip(my_list_1, my_list_2):
    temp_str = []
    for element_1, element_2 in zip(sub_str_1, sub_str_2):
        temp_str.append(element_2 - element_1)
    my_result.append(temp_str)
print("Hiệu ma trận (mat2 - mat1):", my_result)

Kết quả

Ma trận 1: [[3, 4, 4], [4, 3, 1], [4, 8, 3]]
Ma trận 2: [[5, 4, 7], [9, 7, 5], [4, 8, 4]]
Hiệu ma trận (mat2 - mat1): [[2, 0, 3], [5, 4, 4], [0, 0, 1]]

Giải thích

  • zip(my_list_1, my_list_2) gộp hàng tương ứng.
  • Trong mỗi hàng, zip(sub_str_1, sub_str_2) gộp cột tương ứng.
  • Tính element_2 - element_1 và xây ma trận kết quả.