# 在 二維串列中找某個值的索引位置(row, col),需要用巢狀迴圈來一一比對,因為 list.index() 這個方法只適用在一維串列。
# ✅ 目標:找到數字 8 的索引位置
# 串列:
matrix = [
[1, 2, 3], # row 0
[4, 5, 6], # row 1
[7, 8, 9] # row 2 ← 8 在這裡
]
# 🧪 方法:用巢狀迴圈比對每個值
target = 8
for i in range(len(matrix)): # 每一列
for j in range(len(matrix[i])): # 每一列的每一格
if matrix[i][j] == target:
print(f"{target} 的位置是:({i}, {j})")
# ✅ 輸出:
# 8 的位置是:(2, 1)
# 🧠 延伸:如果你想封裝成一個函式
def find_index(matrix, value):
for i, row in enumerate(matrix):
for j, item in enumerate(row):
if item == value:
return (i, j)
return None # 如果找不到
result = find_index(matrix, 8)
print(result) # 👉 (2, 1)
# 🔔 小提醒:
# 這種方法只能找到第一個出現的位置,如果有重複出現的值,你可以改成用 list 收集全部位置。
# 在 Python 中沒有內建函式可以「直接找出二維串列的索引」,所以這個技巧要熟練!