我有一个高维的ndarray,如下所示,并且我正在尝试访问具有N个索引列表的一个元素:
>>> grid = np.ones([3, 3, 3, 3, 3, 3, 3], dtype=np.uint8)
>>> ids = [0, 0, 0, 0, 0, 0]
>>> print(grid[0, 0, 0, 0, 0, 0, 0])
1
>>> print(grid[*id])
File "<stdin>", line 1
print(grid[*id])
^
SyntaxError: invalid syntax
我也尝试过print(grid[id])
,但是会打印出整个grid
而不是一个元素。
执行此操作的正确语法是什么?在这种情况下,加星号表达式怎么不起作用?
答案 0 :(得分:2)
numpy在这里没有正确的鸭子类型。它必须是一个元组。
grid[tuple(ids)]