如何将(索引)列表输入ndarray以访问元素?

时间:2018-10-03 21:22:18

标签: python numpy python-3.6

我有一个高维的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而不是一个元素。

执行此操作的正确语法是什么?在这种情况下,加星号表达式怎么不起作用?

1 个答案:

答案 0 :(得分:2)

numpy在这里没有正确的鸭子类型。它必须是一个元组。

grid[tuple(ids)]