我是 Python 编程语言的新手。我正在寻找如何获取矩阵中特定元素的索引(行和列)。
在其他方面,我想使用列表来执行与此源代码相同的操作。
myList=[1,10,54,85]
myList.index(54)
最好的问候
请您参考如下方法:
这是一个简单的函数,它以元组的形式返回坐标(如果没有找到索引,则返回 None)。请注意,这是针对二维矩阵的,并返回矩阵中元素的第一个实例。
(编辑:参见 hiro protagonist's answer 以获取替代的 Pythonic 版本)
def find(element, matrix):
for i in range(len(matrix)):
for j in range(len(matrix[i])):
if matrix[i][j] == element:
return (i, j)
或者,如果您想查找所有索引而不仅仅是第一个:
def findall(element, matrix):
result = []
for i in range(len(matrix)):
for j in range(len(matrix[i])):
if matrix[i][j] == element:
result.append((i, j))
return result
你可以这样使用它:
A = [[5, 10],
[15, 20],
[25, 5]]
find(25, A) # Will return (2, 0)
find(50, A) # Will return None
findall(5, A) # Will return [(0, 0), (2, 1)]
findall(4, A) # Will return []
