Giới thiệu
Để loại bỏ các phần tử trên đường chéo chính (index hàng == index cột) của ma trận vuông, dùng enumerate và list comprehension lọc bỏ index cột trùng với index hàng.
Ví dụ minh họa
my_list = [[45, 67, 85, 42, 11],
[78, 99, 10, 13, 0],
[91, 23, 23, 64, 23],
[91, 11, 22, 14, 35]]
print("Ma trận gốc:")
print(my_list)
my_result = []
for index, element in enumerate(my_list):
my_result.append([ele for index_1, ele in enumerate(element) if index_1 != index])
print("Ma trận sau khi bỏ đường chéo chính:")
print(my_result)
Kết quả đầu ra
Ma trận gốc: [[45, 67, 85, 42, 11], [78, 99, 10, 13, 0], [91, 23, 23, 64, 23], [91, 11, 22, 14, 35]] Ma trận sau khi bỏ đường chéo chính: [[67, 85, 42, 11], [78, 10, 13, 0], [91, 23, 64, 23], [91, 11, 22, 35]]
Giải thích
- Duyệt hàng với
enumerate-> index hàng. - List comprehension lọc cột: giữ nếu index cột
index_1 != index(hàng). - Kết quả ma trận không còn phần tử [i][i].