python中range()与xrange()用法分析


Posted in Python onSeptember 21, 2016

本文实例讲述了python中range()与xrange()用法。分享给大家供大家参考,具体如下:

据说range比xrange开销要大,原因是range会直接生成一个list对象,而xrange每次调用返回其中的一个值(参考:https://3water.com/article/50072.htm)。于是好奇做了个小小的测试,比较两个函数性能到底有多大差别。

(1)测试代码

#!/usr/bin/env python
from datetime import *
def test_range():
    c1=0
    t1 = datetime.now()
    for i in range(0,100000):
        c1 += 1
    print datetime.now()-t1
def test_xrange():
    c1=0
    t1 = datetime.now()
    for i in xrange(0,100000):
        c1 += 1
    print datetime.now()-t1
if __name__ == '__main__':
    test_range()
    test_xrange()

(2)运行结果

python中range()与xrange()用法分析

(3)小结

从上图的三次运行结果可以看出,range在相同计算量下用时比xrange多了70%左右。另外,在不同的计算量情况下,用时基本也维持在这个比例。因此,如果并不需要返回list对象的话,xrange会是个好选择。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python登录QQ邮箱发信的实现代码
Feb 10 Python
利用python代码写的12306订票代码
Dec 20 Python
Python之父谈Python的未来形式
Jul 01 Python
linux下python使用sendmail发送邮件
May 22 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
Python开发网站目录扫描器的实现
Feb 21 Python
Python 实现数据结构中的的栈队列
May 16 Python
python递归法实现简易连连看小游戏
Mar 25 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
Nov 25 Python
tornado+celery的简单使用详解
Dec 21 Python
Python 虚拟环境工作原理解析
Dec 24 Python
Python Matplotlib绘制条形图的全过程
Oct 24 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
Sep 21 #Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 #Python
浅析Python中MySQLdb的事务处理功能
Sep 21 #Python
Python 爬虫学习笔记之多线程爬虫
Sep 21 #Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 #Python
Python 爬虫学习笔记之正则表达式
Sep 21 #Python
Python简单实现安全开关文件的两种方式
Sep 19 #Python
You might like
几个实用的PHP内置函数使用指南
2014/11/27 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
取得父标签
2006/11/14 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
Python计算三维矢量幅度的方法
2015/06/15 Python
Django 拆分model和view的实现方法
2019/08/16 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
如何对python的字典进行排序
2020/06/19 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
医务人员自我评价
2014/01/26 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
工会趣味活动方案
2014/08/18 职场文书
2015年党风廉政建设责任书
2015/01/29 职场文书
个人收入证明范本
2015/06/12 职场文书
2015年重阳节主持词
2015/07/04 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB