Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从二维坐标集合中提取子阵列?_Python_Arrays - Fatal编程技术网

Python 从二维坐标集合中提取子阵列?

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],

在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],
      [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])