使用 `slice` 对象列表切片 NumPy 数组时出现“IndexError”

问题描述 投票:0回答:1

我尝试使用切片对象列表对多维 NumPy 数组进行切片,但出现以下错误:

IndexError:只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数或布尔数组是有效索引

重现此问题的简单代码如下;最后一行抛出错误:

import numpy as np
a = np.array([[1,2,3], [4,5,6], [7,8,9]])
slicer = [slice(0,2), slice(0,2)]
b = a[slicer]

为什么会发生这种情况以及如何解决?

python python-3.x numpy
1个回答
0
投票

正如@MegaIng 在评论中所建议的,

tuple(slicer)
解决了这个问题。但问题的原因仍不清楚。

© www.soinside.com 2019 - 2024. All rights reserved.