我需要跟踪一些类似的过程
time0 = [ [0] ]
time1 = [ [ time0 ] , [1] ]
time2 = [ [ time1 ] , [2] ]
time3 = [ [ time2 ] , [3] ]
...
time5 = [ [ time4 ] , [5] ]
我喜欢这样是因为:
-我需要time5
对象中的内部对象是依赖的,这样,如果我修改time0
,所有time1
到time5
都会看到变化
-我创建了一百万个time5
对象,我猜之前的过程在内存上会很容易;
现在,我很难访问time5
的内部元素。我会硬编码
time5[0][0][0][0][0][0] = 0
time5[0][0][0][0][1][0] = 1
time5[0][0][0][1][0] = 2
time5[0][0][1][0] = 3
time5[0][1][0] = 4
time5[1][0] = 5
但我需要一个函数来为任何任意的timeX
对象产生那些索引[0][0][1][0]
我不知道该怎么做。
我也愿意接受任何设计建议
我怀疑我的想法不是最好的。
首先是您正在寻找的解决方案(我想):
def access(time_object, max_lvl, lvl):
tmp = time_object
while(lvl < max_lvl):
tmp = time_object[0]
return tmp
老实说,我不明白为什么不简单地将每个元素存储在一个数组中。您不需要使用复杂方法的原因是,依赖关系似乎是顺序的:timeN=[[timeN-1],[N]]
假设你把每个时间对象放在一个列表[time1,time2,…,timeN]中,你可以很容易地看到
timeN[0][0][0][0][1][0] = list[N-4][0]