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

Chương trình Python tìm phần tử gần nhất tiếp theo trong ma trận

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 x trở đ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.