range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。 range示例: 1.>>> range(5) 2.[0, 1, 2, 3, 4] 3.>>> range(1,5) 4.[1, 2, 3, 4] 5.>>> range(0,6,2) 6.[0, 2, 4] xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。 xrange示例: 1.>>> xrange(5) 2.xrange(5) 3.>>> list(xrange(5)) 4.[0, 1, 2, 3, 4] 5.>>> xrange(1,5) 6.xrange(1, 5) 7.>>> list(xrange(1,5)) 8.[1, 2, 3, 4] 9.>>> xrange(0,6,2) 10.xrange(0, 6, 2) 11.>>> list(xrange(0,6,2)) 12.[0, 2, 4] 由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用: 1.for i in range(0, 100): 2.print i 3.for i in xrange(0, 100): 4.print i 这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象: 1.a = range(0,100) 2.print type(a) 3.print a 4.print a[0], a[1] 输出结果: 1.<type 'list'> 2.[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,.. ,99] [python] view plain copy 而xrange则不会直接生成一个list,而是每次调用返回其中的一个值: 1.a = xrange(0,100) 2.print type(a) 3.print a 4.print a[0], a[1] 输出结果: 1.<type 'xrange'> 2.xrange(100) 3.0 1 所以xrange做循环的性能比range好,尤其是返回很大的时候,尽量用xrange吧,除非你是要返回一个列表。 顶 1 踩 0 上一篇 python re模块 下一篇 VS2010快捷键 我的同类文章 Python(15) •python用于url解码和中文解析的小脚本2013-09-25阅读1049 •python 特殊函数的用法2012-07-19阅读2276 •Python之isinstance2012-05-28阅读49872 •Python之全局变量2012-05-25阅读740 •python特殊属性和方法的运用2012-05-15阅读6867 •python re模块2012-07-23阅读1014 •理解Python的双下划线命名(转过来慢慢理解)2012-05-30阅读3412 •python time模块详解2012-05-26阅读832 •Python 引用多个模块,调用模块中的函数时...要注意的地方2012-05-24阅读3599 •Python集合(set)类型的操作2012-05-07阅读232902 更多文章 猜你在找 Python自动化开发基础 装饰器-异常处理-面向对象编程 day4 Python自动化开发基础 列表-字典-IO处理 day2 Python 零基础到实战 Python基础编程1小时快速实战掌握 使用python操作Oracle python中xrange和range的异同 python中xrange和range的异同 python中xrange和range的异同 python中xrange和range的异同 Python中range和xrange的异同之处 关闭 查看评论 暂无评论 您还没有登录,请[登录]或[注册] * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场 核心技术类目 全部主题 Hadoop AWS 移动游戏 Java Android iOS Swift 智能硬件 Docker OpenStack VPN Spark ERP IE10 Eclipse CRM JavaScript 数据库 Ubuntu NFC WAP jQuery BI HTML5 Spring Apache .NET API HTML SDK IIS Fedora XML LBS Unity Splashtop UML components Windows Mobile Rails QEMU KDE Cassandra CloudStack FTC coremail OPhone CouchBase 云计算 iOS6 Rackspace Web App SpringSide Maemo Compuware 大数据 aptech Perl Tornado Ruby Hibernate ThinkPHP HBase Pure Solr Angular Cloud Foundry Redis Scala Django Bootstrap 个人资料 [访问我的空间] 农村的我 访问:986265次 积分:5293 等级: 排名:第4091名 原创:2篇 转载:264篇 译文:1篇 评论:69条 文章搜索 文章分类 Python(16) MySQL(14) 兴趣(4) Eclipse(1) SqlServer(2) VS2010(4) JS(67) CSS(26) 阅读(8) 趣味阅读(5) C(1) html(5) 需求 规划 研发(1) json(1) c++(92) svn(1) sql(4) MongoDB(2) qgis(1) tuxij(0) opengl(5) 线性代数 坐标转换(0) 线性代数(1) 坐标转换(1) cmd(1) qt(2) pcl(2) 文章存档 2017年02月(3) 2017年01月(2) 2016年12月(3) 2016年11月(5) 2016年09月(5) 展开 阅读排行 Python集合(set)类型的操作(233102) Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结(151215) Html中CSS之去除li前面的小黑点,和ul、LI部分属性方法(86042) Python之isinstance(49926) 查看mysql表结构和表创建语句的方法(43308) Js apply()使用详解(41097) js实现input:file的click事件(29291) 网页打开新窗口——Window.open()详解(22258) JS windows.open()详解(12549) js中条件三目运算符?:(11666) 评论排行 Python集合(set)类型的操作(19) Js apply()使用详解(13) js实现input:file的click事件(7) Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结(6) vs2010无可用源 (推荐第二种)(5) Python之isinstance(5) 在MFC中怎么样让控件的大小随着主窗体大小改变而改变(3) 关于MySQL里的found_row()和row_count()解释及用法(很好很强大!!!)(3) jq插件的编写方法(自定义jq插件)(2) python之repr()和str()的区别(1) 推荐文章 * 造轮子 | 如何设计一个面向协议的 iOS 网络请求库 * Android新特性介绍,ConstraintLayout完全解析 * Android 热修复 Tinker接入及源码浅析 * 创业公司做数据分析(六)数据仓库的建设 * 【死磕Java并发】-----深入分析synchronized的实现原理 最新评论 Python之isinstance 农村的我: 程序媛?? Python集合(set)类型的操作 Mr_Buzz: 第31行>>> c = 可以写成 c = list(b) 直接转成list Python之isinstance 葡萄提子: 我也喜欢你的头像啊 关于MySQL里的found_row()和row_count()解释及用法(很好很强大!!!) likeflower950: 都经过测试吗?为什么我这边测试一直都是-1 Python之isinstance zhouzizan1301: 这头像屌爆了 Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结 csdnwanqian: 好文 Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结 csdnwanqian: int(str,base) #变成base进制整型数,int("11",2) 结果为2 cha... Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结 csdnwanqian: S.lowercase() str have no this attribute jq插件的编写方法(自定义jq插件) ruchiruzui2012: 任意对象调用方法的插件方式怎么写呢? Python集合(set)类型的操作 newpowersky: 真的详细!!!!!
而xrange则不会直接生成一个list,而是每次调用返回其中的一个值: 1.a = xrange(0,100) 2.print type(a) 3.print a 4.print a[0], a[1] 输出结果: 1.<type 'xrange'> 2.xrange(100) 3.0 1 所以xrange做循环的性能比range好,尤其是返回很大的时候,尽量用xrange吧,除非你是要返回一个列表。