我用python编码,我想知道如何获得矩阵a的索引,其中矩阵B包含在a中。例如,如果我们有
A = [[1,2,3],
[4,5,6],
[7,8,9]]
和
B = [[2,3],
[5,6]]
然后返回索引([0,0,1,1], [1,2,1,2])
,其中第一个列表对应x轴,第二个列表对应y轴。或者类似的东西。
谢谢你的帮助!
您可以检查这个问题,以确定一个矩阵是否是另一个矩阵的子矩阵。
然后,您可以使用NumPywhere
函数获得每个元素的坐标,如下所示:
import numpy as np
A = np.linspace(1, 9, 9).reshape([3, 3])
B = np.asarray([2, 3, 5, 6]).reshape([2, 2])
submatrix_tuple_coord = [list(np.where(A==b)) for bb in B for b in bb]
submatrix_xy = [[int(x), int(y)] for x, y in submatrix_tuple_coord]
# Return a list of list with the row-column indices
submatrix_xy
>>> [[0, 1], [0, 2], [1, 1], [1, 2]]