我正在玩列表推导,我在另一个网站上遇到了这个小片段:
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)。