Tìm chỉ số của phần tử bằng giá trị key xuất hiện đầu tiên sau vị trí (x, y) trong ma trận (duyệt hàng từ x, cột từ y+1).
Ví dụ
Minh họa:
def get_nearest_elem(my_list, x, y, my_key):
for index, row in enumerate(my_list[x:]):
for j, elem in enumerate(row):
if elem == my_key and j > y:
return index + x, j
return -1, -1
my_list = [[21, 32, 11, 22, 13], [91, 52, 31, 26, 33], [81, 52, 3, 22, 3], [11, 92, 83, 4, 9]]
print("Ma trận:")
print(my_list)
i, j = 1, 3
my_key = 3
my_res_abs, my_res_ord = get_nearest_elem(my_list, i, j, my_key)
print("Chỉ số tìm thấy:")
print(my_res_abs, my_res_ord)
Kết quả
Ma trận: [[21, 32, 11, 22, 13], [91, 52, 31, 26, 33], [81, 52, 3, 22, 3], [11, 92, 83, 4, 9]] Chỉ số tìm thấy: 2, 4
Giải thích
- Hàm duyệt từ hàng
xtrở đi, trong mỗi hàng duyệt cột >y. - Trả về (row, col) đầu tiên tìm thấy
key. - Trả về (-1, -1) nếu không thấy.