当我遇到这个怪癖时,我只是在开玩笑。而且我想确保我没有疯。以下代码(适用于2.x和3.x):from timeit import timeitprint ('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.41718937347list: 2.1132466183, 2.12248106441, 2.11737128131在我的Python 3.3.2上:gen: 3.8801268438439718, 3.9939604983350185, 4.166233972077624list: 2.976764740845537, 3.0062614747229555, 3.0734980312273894我不知道为什么会这样。...可能与字符串的实现方式有关吗?
2 回答
凤凰求蛊
TA贡献1825条经验 获得超4个赞
您不是在将苹果与苹果进行比较。
在Python 2中,(几乎)在Python 3中str
被称为bytes
。
在Python 3str
中称为unicode
Python 2。
添加回答
举报
0/150
提交
取消