【发布时间】:2015-07-26 13:05:33
【问题描述】:
我想知道为什么列表理解比附加到列表要快得多。我认为差异只是表现力,但事实并非如此。
>>> import timeit
>>> timeit.timeit(stmt='''\
t = []
for i in range(10000):
t.append(i)''', number=10000)
9.467898777974142
>>> timeit.timeit(stmt='t= [i for i in range(10000)]', number=10000)
4.1138417314859
列表理解速度提高了 50%。为什么?
【问题讨论】:
-
为什么列表理解速度更快令人惊讶?这不是存在列表推导的主要原因吗?
-
最前沿的答案是,python 使用 C 的
list,而列表理解是 python 的内置功能。
标签: python list python-2.7 python-3.x list-comprehension