为了账号安全,请及时绑定邮箱和手机立即绑定

3.x中的“ join”是否更慢?

3.x中的“ join”是否更慢?

慕尼黑的夜晚无繁华 2021-03-14 12:09:23
当我遇到这个怪癖时,我只是在开玩笑。而且我想确保我没有疯。以下代码(适用于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中称为unicodePython 2。


查看完整回答
反对 回复 2021-03-30
  • 2 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信