我有一个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
我觉得这有一个明显而简单的答案,只是因为某些原因没有点击。
答案 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