在for循环中,如果要访问前一次迭代的值,最好和最快的方法是什么?假设对象非常大(例如,拥有100,000个以上记录的游标对象)。
下面使用一个简单的例子:
tmp = [
['xyz', 335], ['zzz', 338], ['yyy', 339], ['yyy', 442],
['abc', 443], ['efg', 444], ['ttt', 446], ['fff', 447]
]
for x in tmp:
if not prev:
prev = x[1]
print 'seq: ', x[1], 'prev seq:', prev, 'variance: ', x[1]-prev
prev = x[1]
这是处理这个问题的最优方式吗?
根据下面的回复,我进行了一些测试:tmp创建了500个列表,运行20次的平均值如下所示。
结果:
Mines: 0.623
Dave片段1:0.605
Dave片段2:0.586
Catchmeifyoutry(编辑代码):0.707
psyco
JIT 编译器来优化 Python 代码:http://psyco.sourceforge.net/ - catchmeifyoutry