为什么python For in Loop很慢?

时间:2015-06-03 09:43:33

标签: python

我在python中测试了性能for in循环。 它只包含循环和加号操作。 但它需要大约0.5秒。我怎样才能更快地完成它?

import time

start_time = time.time()

val = -1000000
for i in range(2000000):
    val += 1

elapsed_time = time.time() - start_time

print(elapsed_time) # 0.46402716636657715

1 个答案:

答案 0 :(得分:1)

以下是一些优化:

  1. (Python 2)使用xrange()-这将返回一个迭代器,并且无需首先生成列表即可对其进行迭代。在Python 3中,range()本质上是xrange()

  2. range(2000000)包装在iter()函数中。我不确定为什么,但是我在测试过程中看到了进步