range 
函数说明:range([start,] stop[, step]),根据startstop指定的范围以及step设定的步长,生成一个列表。

xrange 
函数说明:和range 的用法完全相同,但是返回的是一个生成器。在python3中已经由range取代xrange

print range(10)                     #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print xrange(10) #xrange(10) print range(2,10) #[2, 3, 4, 5, 6, 7, 8, 9]
print xrange(2,10) #xrange(2, 10) print range(2,10,2) #[2, 4, 6, 8]
print xrange(2,10,2) #xrange(2, 10, 2) print type(range(1,10)) #<type 'list'>
print type(xrange(1,10)) #<type 'xrange'>
print type(list(xrange(1,10))) #<type 'list'>

但是要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用。再循环中尽量使用 xrange 这样性能可以得到提高,除非你要返回一个列表。

l=range(0,20)
print l[0],l[5]#0 5 for i in range(0,5):print i #0 1 2 3 4
for i in xrange(0,5):print i #0 1 2 3 4

关于randrange,用法和random一样,但返回是一个结果

from random import randrange
a=randrange(10,100,2)
print a #

python中range、xrange和randrange的区别的更多相关文章

  1. python中import和from...import...的区别

    python中import和from...import...的区别: 只用import时,如import xx,引入的xx是模块名,而不是模块内具体的类.函数.变量等成员,使用该模块的成员时需写成xx ...

  2. 转发 python中file和open有什么区别

    python中file和open有什么区别?2008-04-15 11:30地痞小流氓 | 分类:python | 浏览3426次python中file和open有什么区别?都是打开文件,说的越详细越 ...

  3. python中range()函数的用法

    python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...

  4. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  5. ZH奶酪:Python中range和xrange的区别

    range    函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> ...

  6. python之旅:python中range()和len()函数区别

    函数:len() 作用:返回字符串.列表.字典.元组等长度 语法:len(str) 参数: str:要计算的字符串.列表.字典.元组等 返回值:字符串.列表.字典.元组等元素的长度 实例 1.计算字符 ...

  7. python中range()和len()函数区别

    函数:len() 作用:返回字符串.列表.字典.元组等长度 语法:len(str) 参数: str:要计算的字符串.列表.字典.元组等 返回值:字符串.列表.字典.元组等元素的长度 实例 1.计算字符 ...

  8. python 中range numpy.arange 和 numpy.linspace 的区别

    1.返回值不同 range返回一个range对象,numpy.arange和numpy.linspace返回一个数组. 2.np.arange的步长可以为小数,但range的步长只能是整数. 与Pyt ...

  9. Python中list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...

  10. Python中list,tuple,dict,set的区别和用法(转)

    原文地址:http://www.cnblogs.com/soaringEveryday/p/5044007.html Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个 ...

随机推荐

  1. springmvc 开涛 生产者/消费者

    媒体类型: text/html, text/plain, text/xml image/gif, image/jpg, image/png application/x-www-form-urlenco ...

  2. MySQL中不允许使用列别名作为查询条件

    在MySQL中有个特殊的规定,即不允许使用列别名作为查询条件.比如有下面一个表: select     ID,     title,     concept,     conceptLength,   ...

  3. cocos studio

    用了几天,和之前用的cocos creator以及unity的编辑器一对比,很多地方都挺反人类的哈... 拖拽和放大场景元素竟然还要切换一下编辑模式... 移动场景元素竟然没有单独控制x或者y方向的移 ...

  4. web.xml中Filter,Listener,Servlet的区别

    一.Servlet Servlet是基本的服务端程序,他来自接口Servlet,接口中有方法service.而Servlet的一个重要实现类,则是tomcat服务器的核心,那就是HttpServlet ...

  5. mac下能同时安装两个版本的xcode吗

    http://www.cocoachina.com/bbs/read.php?tid-288160-page-1.html

  6. Android 权限的由来

    在Android APP开发过程中,某些行为动作需要在AndroidManifest.xml清单文件中进行权限相关的配置: <!-- 增加权限 --> <uses-permissio ...

  7. MYC编译器源码之代码生成

    前面讲过语法的解析之后,代码生成方面就简单很多了.虽然myc是一个简单的示例编译器,但是它还是在解析的过程中生成了一个小的语法树,这个语法树将会用在生成exe可执行文件和il源码的过程中. 编译器在解 ...

  8. SVG系列教程:SVG简介与嵌入HTML页面的方式

    地址:http://www.w3cplus.com/html5/svg-introduction-and-embedded-html-page.html 随着技术向前的推进,SVG相关的讨论也越渐频繁 ...

  9. [.net 多线程]线程基础

    一.线程状态 1.新建状态(New):         当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态. 当一个线程处于新生状态时,程序还没 ...

  10. WebApi(2)

    WebApi2 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !importa ...