如何在数组维数未知的情况下进行numpy组合切片和数组索引

2024-04-26 14:47:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组的所有维度的索引元组列表,包括前两个。你知道吗

对于每个索引元组,我想返回这个元组位置的数组切片。你知道吗

我事先不知道数组中的维数,也不知道索引元组中元素的数目。你知道吗

例如,如果索引元组(pos)中有两个元素,我将编写如下内容:

arr[:, :, pos[0], pos[1]]

返回此位置的数组切片。我希望能够做到这一点,而不必事先知道pos的长度。我天真地认为arr[:, :, *pos]会起作用,但当然不会

谢谢你的帮助。你知道吗


Tags: pos元素内容列表切片数组元组arr
1条回答
网友
1楼 · 发布于 2024-04-26 14:47:05

可以将Ellipsis与元组p连接起来,以获得可用于切片数组的元组Ep

Ep = (Ellipsis,)+p
sliced_arr = arr[Ep]

编辑:感谢前面的答案(已经删除了),因为它提到了Ellipsis,这实际上是我这里答案的一半。你知道吗

相关问题 更多 >