您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python while、for、生成器、列表推导等语句的执行效率测试

5b51 2022/1/14 8:17:46 python 字数 2685 阅读 366 来源 www.jb51.cc/python

一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,然而他们的效率并不一样。写了一个小程序来测试它们执行的效率。

概述

一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,然而他们的效率并不一样。写了一个小程序来测试它们执行的效率。

测试内容:
一个数字大小为20万的数字,依次取绝对值,放到列表中,测试重复1千次.
测试程序:

测试结果:

测试结果:

用time模块,和timeit模块两种测试方式测试了很多组数字,得出的结果是执行内置函数最快,其次就是列表推导,再其次生成器和for循环,while循环最慢。一般最快的使用内置函数方法要比使用最慢的while快两倍以上。简单分析下原因:内置函数比如说map,filter,reduce(在python3.0中移除)基本上都是用C语言来实现的,所以速度是最快的,列表推导内的迭代在解释器内是以C语言的速度运行的(一般是for循环的两倍,对大型文件操作而言,用列表推导效果尤其明显),相比较for循环代码是在PVM步进运行要快的多。但for循环里面含range(),相对速度也会快些,while语句是纯粹用Python代码写成,所以速度最慢。所以函数式编程最好使用内置函数,然后才考虑使用列表推导或for循环。最好不用while循环.

总结

以上是编程之家为你收集整理的Python while、for、生成器、列表推导等语句的执行效率测试全部内容,希望文章能够帮你解决Python while、for、生成器、列表推导等语句的执行效率测试所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶