Python 从二维坐标集合中提取子阵列?
在Python中,我有一个包含数据的大型2D数组,另一个Mx2 2D数组包含感兴趣的M 2D坐标集合,例如Python 从二维坐标集合中提取子阵列?,python,arrays,Python,Arrays,在Python中,我有一个包含数据的大型2D数组,另一个Mx2 2D数组包含感兴趣的M 2D坐标集合,例如 coords=[[150, 123], [151, 123], [152, 124], [153, 125]] 我想提取包含这些坐标(索引)位置的数据数组值的Mx1数组。显然,数据[coords]不起作用 我怀疑有一个简单的方法可以做到这一点,但stackoverflow到目前为止让我失望。提前感谢你的帮助 编辑:例如 data=[[0, 0, 0, 0, 0, 0, 1, 0],
coords=[[150, 123], [151, 123], [152, 124], [153, 125]]
我想提取包含这些坐标(索引)位置的数据数组值的Mx1数组。显然,数据[coords]
不起作用
我怀疑有一个简单的方法可以做到这一点,但stackoverflow到目前为止让我失望。提前感谢你的帮助
编辑:例如
data=[[0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 1, 2, 1, 0, 0],
[0, 0, 0, 1, 23, 40, 0, 0],
[0, 0, 0, 1, 1, 2, 0, 0],
[0, 0, 3, 2, 0, 0, 0, 0],
[0, 0, 4, 5, 6, 2, 1, 0],
[0, 0, 0, 0, 1, 20, 0, 0],
[0, 0, 0, 3, 1, 2, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]]
coords=[[1,4],[2,4],[2,5],[5,3],[6,5]]
期望的输出是
out=[2,23,40,5,20]
您可以使用:
列表理解返回的结果与
result = []
for i,j in coords:
result.append(data[i][j])
你能提供一个
数据
的样本吗?另外,请添加所需的输出。我的数据是1024x1024个数组或整数,因此我认为将其添加到上面没有多大意义。不过,我将添加一个具有所需输出的模拟示例。只需一个示例就可以了。我感兴趣的二维坐标数为M,可以变化。
result = []
for i,j in coords:
result.append(data[i][j])