Khi cần kiểm tra xem mọi hàng của ma trận 1 có ít nhất một phần tử chung với hàng tương ứng của ma trận 2, ta dùng vòng lặp và biến cờ.
Ví dụ
my_list_1 = [[3, 16, 1], [2, 4], [4, 31, 31]]
my_list_2 = [[42, 16, 12], [42, 8, 12], [31, 7, 10]]
print("Ma trận 1:")
print(my_list_1)
print("Ma trận 2:")
print(my_list_2)
my_result = True
for idx in range(0, len(my_list_1)):
temp = False
for element in my_list_1[idx]:
if element in my_list_2[idx]:
temp = True
break
if not temp:
my_result = False
break
if my_result:
print("Hai ma trận có phần tử chung ở mọi hàng")
else:
print("Hai ma trận KHÔNG có phần tử chung ở mọi hàng")
Kết quả đầu ra
Ma trận 1: [[3, 16, 1], [2, 4], [4, 31, 31]] Ma trận 2: [[42, 16, 12], [42, 8, 12], [31, 7, 10]] Hai ma trận KHÔNG có phần tử chung ở mọi hàng
Giải thích
- Duyệt theo chỉ số hàng (idx).
- Với mỗi hàng, kiểm tra xem có phần tử nào của ma trận 1 nằm trong hàng cùng chỉ số của ma trận 2 không.
- Nếu hàng nào không có phần tử chung → gán False và dừng.
- Ví dụ: Hàng 0 có 16 chung, hàng 1 không có chung (2,4 vs 42,8,12), hàng 2 có 31 chung. Do hàng 1 thất bại → kết quả False.