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实现人脸识别代码
Nov 08 Python
Python使用三种方法实现PCA算法
Dec 12 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
python IDLE添加行号显示教程
Apr 25 Python
浅谈Python中的模块
Jun 10 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
如何教少儿学习Python编程
Jul 10 Python
python如何利用Mitmproxy抓包
Oct 10 Python
一文读懂python Scrapy爬虫框架
Feb 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
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
第四章 php数学运算
2011/12/30 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
preg_match_all使用心得分享
2014/01/31 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
微信小程序 封装http请求实例详解
2017/01/16 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
Python中使用HTMLParser解析html实例
2015/02/08 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
python实现网站的模拟登录
2016/01/04 Python
python异常和文件处理机制详解
2016/07/19 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
python实现桌面气泡提示功能
2019/07/29 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
在Django中实现添加user到group并查看
2019/11/18 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
群胜软件Java笔试题
2012/09/29 面试题
某公司Java工程师面试题笔试题
2016/03/27 面试题
毕业实习自我鉴定范文2014
2014/09/26 职场文书
Python绘制分类图的方法
2021/04/20 Python
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js
利用Redis实现点赞功能的示例代码
2022/06/28 Redis