自动访问 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]
首先,如果这个问题已经被问到,我深表歉意。我已经搜索过了,但一无所获。
给定以下代码:
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]