索引数量未知的索引

时间:2016-06-11 15:58:49

标签: python arrays numpy

我有一个n维数组,其中N个维度可以变化:

arr1 = np.array([0,0,1,0])
arr2 = np.array([[0,0],[0,0],[0,1],[0,0]])

我需要能够传递一个数组和tuple / int并获取返回该位置的整数:

assert myfunc(arr1, 2) == 1
assert myfunc(arr2, (2, 1)) == 1

我觉得这有一个明显而简单的答案,只是因为某些原因没有点击。

1 个答案:

答案 0 :(得分:3)

我不确定我是否理解你的问题;但是,您可以直接使用元组作为索引来检索特定元素。

例如;

arr1 = np.array([0,0,1,0])
arr2 = np.array([[0,0],[0,0],[0,1],[0,0]])
arr3 = np.array([[[0,0],[0,0],[0,1],[0,0]], [[0,0],[0,0],[0,1],[0,0]]])

assert arr1[2] == 1
assert arr2[(2, 1)] == 1
assert arr3[(1,2,1)] == 0