ตัวอย่าง
โค้ดด้านล่างกำหนดฟังก์ชัน get_nearest_elem ค้นหาค่า my_key ในแถวตั้งแต่แถว x ตำแหน่ง y+1 เป็นต้นไป คืนค่าดัชนี (row, col) ที่เจอแรก
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("The list is :")
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("The found K index is :")
print(my_res_abs, my_res_ord)
ผลลัพธ์
The list is : [[21, 32, 11, 22, 13], [91, 52, 31, 26, 33], [81, 52, 3, 22, 3], [11, 92, 83, 4, 9]] The found K index is : 2, 4
คำอธิบาย
กำหนดฟังก์ชัน get_nearest_elem รับลิสต์, แถวเริ่มต้น x, คอลัมน์เริ่มต้น y, ค่าที่หา my_key
วนลูปแถวตั้งแต่ x เป็นต้นไป ในแต่ละแถวนวนคอลัมน์ ถ้าเจอ my_key และคอลัมน์ > y คืน (row_index, col_index)
ถ้าไม่เจอคืน (-1, -1)
นอกฟังก์ชัน: กำหนดแมทริกซ์, i=1, j=3, key=3 เรียกฟังก์ชัน แสดงผล