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实现可将字符转换成大写的tcp服务器实例
Apr 29 Python
深入解析Python中的WSGI接口
May 11 Python
Python利用splinter实现浏览器自动化操作方法
May 11 Python
python list转矩阵的实例讲解
Aug 04 Python
python批量赋值操作实例
Oct 22 Python
使用python绘制3维正态分布图的方法
Dec 29 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
Python将string转换到float的实例方法
Jul 29 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
详解python 降级到3.6终极解决方案
Feb 06 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
通过实例简单了解python yield使用方法
Aug 06 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
php依赖注入知识点详解
2019/09/23 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
浅析Python基础-流程控制
2016/03/18 Python
Python中查看文件名和文件路径
2017/03/31 Python
Python3处理HTTP请求的实例
2018/05/10 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
体育教育专业自荐信范文
2013/12/20 职场文书
学校欢迎标语
2014/06/18 职场文书
护士2014年终工作总结
2014/11/11 职场文书
培训简讯范文
2015/07/20 职场文书
车间班组长竞聘书
2015/09/15 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
Golang连接并操作MySQL
2022/04/14 MySQL
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript