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

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

据说range比xrange开销要大,原因是range会直接生成一个list对象,而xrange每次调用返回其中的一个值(参考://www.jb51.net/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)运行结果

(3)小结

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

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

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

本文标题: python中range()与xrange()用法分析

本文地址: http://www.cppcns.com/jiaoben/python/164149.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java velocity详解_[velocity] velocity详解

(1)为什么要使用模版语言?在服务器端可以使用 Velocity处理模板和生成的动态内容(HTML、XML等)。这和JSP技术的目标非常接近。但是,JSP模型可以毫无阻碍地访问底层的Servlet API和Java编程语言。它基本上是一种在很大程度上开放的访问模型。而作为一种完…

Java 相关命令详解

文章目录jps常用选项javac标准选项联编选项非标准选项jarjavajavadoc常用选项javah常用选项javap常用选项jconsolejstatjstackjmapjavaw其它jps jps(Java Virtual Machine Process Status Tool) 是 JDK 1.5 提供的一个显示当前所有 java 进程 pid 的命令,简单实用&…

pc端游戏修改器_原神:不要吐槽手机内存了,想要获得最佳游戏体验,PC端最合适...

想必大家这段时间都被一个米哈游公司的游戏给刷屏了吧,它就是号称用时三年,斥资一亿美元打造的《原神》,正是这种情况下,原神的关注远远要高于其他游戏,并且玩家的期望值也是和关注度成正比。但是,一经发布…

java调用命令行命令_Java命令行界面(第4部分):命令行

java调用命令行命令我的Java命令行解析系列的第四部分介绍了Commandline ,它被描述为 “用于解析命令行参数的Java库”,它“基于使用注释从命令行参数到对象的映射”。 像以前介绍的args4j和jbock一样, Commandline使用注释来提供潜在命令行…

java 字段为空设置默认值_java – 当字段为空时使用MyBatis添加默认值

当我的字段为空时,我想从数据库中插入默认值.我使用的是Oracle数据库.CREATE TABLE "EMPLOYEE"("COL1" VARCHAR2(800) NOT NULL ENABLE,"COL2" VARCHAR2(100) DEFAULT NOT NULL toto,CONSTRAINT "PK_EMPLOYEE" PRIMARY KEY ("COL…

JVM 内存示意图(内存结构图/内存解析图)

图 1: 图 2: 图 3: 图 4:

java登录界面命令_Java命令行界面(第8部分):Argparse4j

java登录界面命令Argparse4j是“ Java命令行参数解析器库”,其主页将其描述为“基于Python的argparse模块的Java命令行参数解析器库”。 在本文中,我将简要介绍如何使用Argparse4j 0.7.0处理命令行参数,该参数类似于本系列中的前七篇文章中有…

python36_第36 p,就这几个方法,Python中文件的操作

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇)。学习本课程,建议先看一遍:【计算机基础知识】课程。一、 绝对路径与…

java如何使用类数组_java – 如何使用泛型与数组的类?

我想创建一个Classes数组,每个都代表我正在构建的系统中可用的类型。所有涉及的类都是公共超类的子类。所以我想做:Class extends SuperClass>[] availableTypes { SubClass1.class, SubClass2.class };这给我错误:Cannot create a gener…

协议管理模块设计

文章目录协议和合同的区别协议表说明协议签署日志协议和合同的区别 如果协议的内容写得比较明确、具体、详细、齐全,并涉及到违约责任,即使其名称写的是协议,也是合同;如果协议的内容写得比较概括、原则、很不具体,也…

java登录界面命令_Java命令行界面(第7部分):JCommander

java登录界面命令这是我系列的第七篇文章,简要介绍了用于处理Java命令行参数的各种库。 这篇文章回到了基于注释的库的覆盖范围,该库似乎是在Java中可用于处理命令行参数的众多可用库中知名度最高,最受欢迎的库之一: JCommander 。…

java体系技术框架_java框架之Spring 核心框架体系结构

很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪…

tomee_微服务系列:MicroProfile和Apache TomEE

tomee介绍 MicroProfile是由知名供应商于2016年9月发起的一项计划,目的是基于JEE平台构建微服务架构。 任务是针对微服务架构优化企业Java 。 开发人员可以使用这种体系结构,通过Enterprise Java平台以标准化的方式构建和开发微服务应用程序。 API构建将…

IntelliJ IDEA中打开项目时用 Import Project(导入项目) 和 Open(打开项目) 的区别

文章目录创建测试目录使用 Open 方式打开用 Import Project 方式打开用 Open 方式打开文件夹下的多个项目用 Import Project 的方式打开多个项目总结对于 IDEA 中如下图所示的 Import Project 和 Open Project 的区别,一开始不明白怎么回事,网上看了很多…

python做数据库压力测试_Python 写的一个MongoDB压力测试

Python 写的一个MongoDB压力测试$ pip install pymongo#!/usr/bin/env python#codingutf-8#Author: Ca0Gu0from pymongo import MongoClientimport datetime,timeclass MongCli(object):def __init__(self, host"127.0.0.1", port27017, userpytest, passwd pytest12…

java命令模式返回值_JAVA 设计模式 命令模式

目录用途命令模式 (Command)将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或请求日志,以及支持可撤销的操作。命令模式是一种行为型模式。结构图-命令模式结构图Command: 用来声明执行操作的接口。abstract…

IntelliJ IDEA for Mac 如何创建普通的Java项目_创建项目_新建项目

文章目录创建 Java 新项目的流程普通 Java 项目结构Java 项目结构特例讲解创建 Java 新项目的流程 Create New Project Empty Project (1)选择【Empty Project】,则项目不会自动创建模块,项目创建成功之后,会自动弹出…

java 集成开发工具_最好的Java开发人员测试和集成工具

java 集成开发工具通过从您的应用程序学习企业APM产品,发现更快,更有效的性能监控。 参加AppDynamics APM导览! 无论您是刚刚起步还是已经从事了一段时间,使用正确的工具进行编程都可以对项目的成功产生巨大的影响。 适当的工具使…

vue实现上下滑动翻页_基于vue实现上下滑动翻页效果

18年年底的时候,一直在做年度报告的H5页面,因为项目需要,需要实现上下滑动翻页,并且上滑的页面比正常页面的比例要缩小一定比例。效果类似于http://www.17sucai.com/pins/demo-show?id7834,这个链接是基于jquery实现的…

java bytebuffer 大小_java – 为什么DirectByteBuffer.array()有额外的大小?

我的代码是:if (frameRGBABuffer null) {frameRGBABuffer ByteBuffer.allocateDirect(cameraHeight * cameraWidth * 4).order(ByteOrder.nativeOrder());}Log.d("tag",frameRGBABuffer.array().length)我的相机分辨率是1280720,因此frameRGBABuffer应该…