检测大python列表中的重复整数序列

时间:2018-05-08 17:22:08

标签: python list loops graph sequence

我正在使用我所做的功能检测图表中的周期。

for repeat in xrange(1000):
    spath = bfs_spaths(edgemap, source, n, nodevals)

根据当前的edgeweights(存储在edgemap中),从源节点中找到图表中的最短周期。

根据结果,然后我在图表中编辑权重,然后再次找到一个周期(因此重复1000次)。

在我的循环检测期间的某个时刻,算法将陷入检测相同循环序列的循环中。例如,序列可以反复进行相同的5个循环。或者它可能会反复出现100个不同的循环。但从某些角度来看,它只会重复这个序列。

我喜欢这种行为,我不想改变它。但是,我确实希望检测序列。通过存储列表中每个周期的长度,我可以稍微降低复杂程度:

lenpath = list()
lenpath.append(len(spath))

现在,我们需要做的就是在此列表中检测重复的整数序列。但是当序列开始重复时,列表是可变的,就像序列的大小一样。

我不知道该怎么做。有什么建议?谢谢。

0 个答案:

没有答案