您的位置 首页 > 腾讯云社区

为什么在python中for-range比while运行的要快---生信编程日常

while的代码test1.py:

i = 0 while i < 10000000: i += 1

for-loop的代码test2.py:

for n in range(0,10000000): pass

time python test1.py 或者test2.py,得到第一个的时间大概是0m1.189s;第二个的时间是0m0.514s。while循环的时间大概是for-range的两倍。

其实如果对python字节码的反汇编可以看到两者所做的操作数量是不一样的,while要多于for-loop。另外,range()作为内置方法,是作为C代码执行的,而 i +=1需要解释,在效率和速度之间是差很多的。而且i += 1相当于创建了新对象,相对而言也会更慢。

参考:https://stackoverflow.com/questions/869229/why-is-looping-over-range-in-python-faster-than-using-a-while-loop

---来自腾讯云社区的---生信编程日常

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: