自动访问 array[][]...[] 带有 N "[]" 的元素

Access array[][]...[] element with N "[]" automatically

首先,如果这个问题已经被问到,我深表歉意。我已经搜索过了,但一无所获。

给定以下代码:

RHO = RHOarray(D,nbInter)
    print(RHO)
    for k in range(N):
        for l in range(D):
            j=0
            Coord=[0 for i in range(D)]
            while ((X[k][l]>mini+(j+1)*step) and (j<nbInter)):
                j+=1
            Coord[l]+=j 
            RHO[ ]
for k in range(len(RHO)):
    RHO[k]/=N
return RHO  

RHO 是一个 D 维数组,大小为 nbInter。 (RHOarray 是创建此类数组的函数)。问题是,根据 D 的值,如果 D = 1,我需要访问 RHO[n],如果 D = 2,我需要访问 RHO[n][m] ... RHO[n][m]...[无论如何指数]随着D的增加。每个索引实际上都是 Coord[0]、Coord[1]... 等等,所以我知道我必须在每个索引中放入什么。提出问题 "simpler" :我怎样才能使 RHO 之后的“[...]”数量增加与 D 一样多?

希望我已经说清楚了。我是法国人,即使用我的母语也很难解释。提前致谢

ps 初始代码较长,但我认为没有必要完全展示它。

你可以简单地做一些像

 indices = [1, 2, 3, 4, 5]
 value = X

 for i in indices:
     value = value[i]
 print(value)

如果X是一个numpy数组,你可以直接做 X[(1,2,3)] 而不是 X[1, 2, 3]X[1][2][3]