在二维矩阵中查找值的索引
发布于 2021-01-29 17:33:59
我有一个形式的矩阵,
mymatrix=[[1,2,3],[4,5,6],[7,8,9]]
我想获取例如位于(2,2)的9的索引。
到目前为止,我一直在尝试做的事情。
for i,j in enumerate(mymatrix):
for k,l in enumerate(j):
if l==9:
print i,k
有没有更好的方法可以做到这一点。优化,有人吗?提前致谢。
关注者
0
被浏览
139
1 个回答
-
如果要让值出现的所有位置,可以使用以下列表推导式将其
val
设置为要搜索的内容[(index, row.index(val)) for index, row in enumerate(mymatrix) if val in row]
例如:
>>> mymatrix=[[1,2,9],[4,9,6],[7,8,9]] >>> val = 9 >>> [(index, row.index(val)) for index, row in enumerate(mymatrix) if val in row] [(0, 2), (1, 1), (2, 2)]
编辑
这不是真的,因为它会得到所有出现,它只会在给定行中得到该值的第一次出现。