我需要跟踪一些像这样的过程
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
。
我不知道该怎么做。
我也对任何设计建议持开放态度 我怀疑我的想法不是最好的。
答案 0 :(得分: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]