0

首先,如果已经问过这个问题,我深表歉意。我已经搜索过了,但什么也没找到。

给定以下代码:

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]...[whatever指数] 随着 D 的增加。每个索引实际上都是 Coord[0]、Coord[1]... 等等,所以我知道我必须在每个索引中添加什么。为了使问题“更简单”:我怎样才能这样做,RHO 之后的“[...]”数量与 D 一样多?

我希望我已经清楚了。我是法国人,即使用我的母语解释起来仍然很棘手。提前致谢

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

4

1 回答 1

1

你可以简单地做类似的事情

 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]

于 2018-07-11T15:36:12.407 回答