【发布时间】:2014-09-14 20:55:52
【问题描述】:
我想知道为什么在 Python 2.7 中迭代列表比迭代迭代器要慢得多。下面是示例代码和输出。
import timeit
stmt = """
for i in range(1000000):
pass
"""
print "================for loop with list=================="
t = timeit.Timer(stmt)
print min(t.repeat(3, 100))
print "================for loop with iterator=================="
stmt = """
for i in seq:
pass
"""
t = timeit.Timer(stmt, setup = "seq = iter(range(1000000))")
print min(t.repeat(3, 100))
输出:
================for loop with list==================
2.61899293756
================for loop with iterator==================
0.0191696885382
似乎对迭代器进行迭代比对列表进行迭代快 10 倍以上。
【问题讨论】:
标签: python performance list iterator