我是 Python 编程语言的新手。我正在寻找如何获取矩阵中特定元素的索引(行和列)。
以其他方式,我想使用列表执行与此源代码相同的操作。
myList=[1,10,54,85]
myList.index(54)
Run Code Online (Sandbox Code Playgroud)
此致
这是一个简单的函数,它将坐标作为元组返回(或者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)
| 归档时间: |
|
| 查看次数: |
16185 次 |
| 最近记录: |