如何获取python矩阵中特定项的索引

Kha*_*Lid 2 python python-3.x

我是 Python 编程语言的新手。我正在寻找如何获取矩阵中特定元素的索引(行和列)。

以其他方式,我想使用列表执行与此源代码相同的操作。

myList=[1,10,54,85]
myList.index(54)
Run Code Online (Sandbox Code Playgroud)

此致

Fli*_*ack 5

这是一个简单的函数,它将坐标作为元组返回(或者None如果未找到索引)。请注意,这适用于二维矩阵,并返回矩阵中元素的第一个实例。

(编辑:请参阅hiro 主角的答案以获取替代的 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)
Run Code Online (Sandbox Code Playgroud)

或者,如果您想查找所有索引而不仅仅是第一个:

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
Run Code Online (Sandbox Code Playgroud)

你可以像这样使用它:

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 []
Run Code Online (Sandbox Code Playgroud)