2015-01-26 62 views
1
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))],但它們都不起作用。如何使用變量來處理多維數組的元素?

回答

3

NumPy的指標只是元組,所以您可以:

cube[tuple(vector)]