在做leetcode时,习惯性地使用python3,因为python2准备停止支持了嘛,python3才是未来。
但是。。。。。。。。。。
被一道题卡超时了,一直困在其中,上网搜python对于该题的题解,
非常神奇的事情发生了。。。。
别人能过的为什么我偏偏不能过,搜了好几个题解在我提交后都超时。。
后来看到一些题解里有xrange这个函数,这时python2才有的,
于是我尝试用python2提交,结果终于过了,泪流满面。。。。
但过了是一回事,为什么python3比python2慢呢?
我进行了大量的搜索,总结为:
Python 内部用到 dict 的地方很多啊,比如说在交互模式下,`a=1`一共会创建并销毁 15 个字典对象。
我这里测试 2.7 和 3.5 dict 的效率差很多啊
具体还是应该看代码吧,比如 Python 3 中大量使用了生成器,`xrange`取消了,
`range`的效果等同于 Python 2 中的`xrange`,
但是 Python 3 的`range`要比 Python 2 的`xrange`慢不少,看这里:
```