如何用变量寻址多维数组的元素?
How to address elements of multidimensional array with variables?
import numpy as np
cube = np.zeros((2,2,2,2,2,2,2)) # Make 7 dim hypercube
vector=[1,0,1,1,0,1,1]
cube[vector[0],vector[1],vector[2],vector[3],vector[4],vector[5],vector[6]] # access the field [1,0,1,1,0,1,1]
我必须处理一些高维数组,我想通过变量访问它们的字段。
上面的代码显示了一个非常糟糕的解决方案,我相信有一个更有效的解决方案,类似于 cube[vector]
或 cube[vector[i] for i in range(len(vector))]
但其中 none 似乎有效。
NumPy 索引只是元组,因此您可以:
cube[tuple(vector)]
import numpy as np
cube = np.zeros((2,2,2,2,2,2,2)) # Make 7 dim hypercube
vector=[1,0,1,1,0,1,1]
cube[vector[0],vector[1],vector[2],vector[3],vector[4],vector[5],vector[6]] # access the field [1,0,1,1,0,1,1]
我必须处理一些高维数组,我想通过变量访问它们的字段。
上面的代码显示了一个非常糟糕的解决方案,我相信有一个更有效的解决方案,类似于 cube[vector]
或 cube[vector[i] for i in range(len(vector))]
但其中 none 似乎有效。
NumPy 索引只是元组,因此您可以:
cube[tuple(vector)]