【发布时间】:2010-12-12 23:37:50
【问题描述】:
我正在玩列表推导,我在另一个网站上遇到了这个小 sn-p:
return ''.join([`num` for num in xrange(loop_count)])
在意识到`num` 位破坏了它之前,我花了几分钟尝试复制该功能(通过键入)。
在这些字符中包含语句有什么作用?据我所知,它相当于str(num)。但是当我计时时:
return ''.join([str(num) for num in xrange(10000000)])
需要 4.09 秒,而:
return ''.join([`num` for num in xrange(10000000)])
需要 2.43 秒。
两者都给出相同的结果,但一个要慢得多。这是怎么回事?
编辑:奇怪...repr() 给出的结果比`num` 稍慢。 2.99 秒与 2.43 秒。使用 Python 2.6(尚未尝试 3.0)。
【问题讨论】:
-
在阅读skymind.com/~ocrow/python_string的“另一个站点”后,我有一个类似的问题并找到了这个页面。好问题和好答案:)