gpt4 book ai didi

python - 从二维坐标集合中提取子数组?

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:20 25 4
gpt4 key购买 nike

在 Python 中,我有一个包含数据的大型二维数组,以及另一个包含 M 个感兴趣的二维坐标集合的 Mx2 二维数组,例如

coords=[[150, 123], [151, 123], [152, 124], [153, 125]]

我想在这些坐标(索引)位置提取包含数据数组值的 Mx1 数组。显然,data[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]

最佳答案

你可以使用 list comprehension :

In [73]: [data[i][j] for i,j in coords]
Out[73]: [2, 23, 40, 5, 20]

列表理解返回的结果等同于

result = []
for i,j in coords:
result.append(data[i][j])

关于python - 从二维坐标集合中提取子数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38831006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com