0

我需要跟踪一些这样的过程

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

但我需要一个函数来[0][0][1][0]为任何任意timeX对象生成这些 index 。
我不知道该怎么做。

我也愿意接受任何设计建议。
我怀疑我的想法不是最好的。

4

1 回答 1

2

首先这是您正在寻找的解决方案(我猜):

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]
于 2013-06-26T11:12:18.157 回答