当我遇到这个怪癖时,我只是在开玩笑。而且我想确保我没有疯。
以下代码(适用于2.x和3.x):
from timeit import timeit
print ('gen: %s' % timeit('"-".join(str(n) for n in range(1000))', number=10000))
print ('list: %s' % timeit('"-".join([str(n) for n in range(1000)])', number=10000))
在同一台计算机的每个版本上执行3次操作。
注意:为了节省空间,我在同一行上对时间进行了分组。
在我的Python 2.7.5上:
gen: 2.37875941643, 2.44095773486, 2.41718937347
list: 2.1132466183, 2.12248106441, 2.11737128131
在我的Python 3.3.2上:
gen: 3.8801268438439718, 3.9939604983350185, 4.166233972077624
list: 2.976764740845537, 3.0062614747229555, 3.0734980312273894
我不知道为什么会这样。...可能与字符串的实现方式有关吗?
凤凰求蛊
相关分类