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的字典和列表的使用中一些需要注意的地方
Apr 24 Python
python字符串编码识别模块chardet简单应用
Jun 15 Python
python实现12306火车票查询器
Apr 20 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
selenium+python设置爬虫代理IP的方法
Nov 29 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
如何基于Django实现上下文章跳转
Sep 16 Python
Python图像读写方法对比
Nov 16 Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 Python
浅析Python中的套接字编程
Jun 22 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使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
python抓取文件夹的所有文件
2018/02/27 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
python getpass实现密文实例详解
2019/09/24 Python
python 发送json数据操作实例分析
2019/10/15 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
python 如何快速复制序列
2020/09/07 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
求职信内容考虑哪几点
2013/10/05 职场文书
机电一体化专业应届生求职信
2013/11/27 职场文书
工作失职检讨书范文
2014/01/16 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
go goth封装第三方认证库示例详解
2022/08/14 Golang