range和xrange这两个函数基本都是在循环的时候使用的。

>>> for x in range(10,21,1):
... print x
...
10
11
12
13
14
15
16
17
18
19
20
>>> for y in xrange(10,21,1):
... print y
...
10
11
12
13
14
15
16
17
18
19
20
>>>

这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象:

>>> a = range(10,20,1)
>>> a
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> type(a)
<type 'list'>
>>> print a
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>

而xrange则不会直接生成一个list,而是每次调用返回其中的一个值 ,它只是生成了一个而是一个生成器。

>>> b = xrange(10,20,1)
>>> b
xrange(10, 20)

所以xrange做循环的性能比range好,尤其是返回很大的时候!

因此使用xrange()比使用range()更节省空间。

而是一个生成器。

xrange和range区别的更多相关文章

  1. Python 中xrange和range区别

    先看看Python help()的说明 help(range) Help on built-in function range in module __builtin__: range(...) ra ...

  2. python range函数与numpy arange函数,xrange与range的区别

    转自:https://www.cnblogs.com/ymjyqsx/p/6426764.html 1.range()返回的是range object,而np.arange()返回的是numpy.nd ...

  3. xrange与range的区别

    xrange属于类,继承自object. 用法: xrange(stop) -> xrange object xrange(start, stop[, step]) -> xrange o ...

  4. xrange与range之间的区别

    对于这两个好像功能都差不多,这两个经常会被搞混,所以今天一定要把这个完全弄清楚. 首先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围 ...

  5. python中xrange()和range()函数的区别使用:

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

  6. python中xrange和range的区别

    这两个基本上都是在循环的时候用. for i in range(0, 100): print i for i in xrange(0, 100): print i 这两个输出的结果都是一样的,实际上有 ...

  7. xrange 和range的区别

    >>> xrange(5)xrange(5)>>> list(xrange(5))[0, 1, 2, 3, 4]>>> xrange(1,5)xr ...

  8. xrange和range的区别

    >>> print type(range(5)) <type 'list'> >>> print type(xrange(5)) <type 'x ...

  9. [Python] xrange和range的使用区别

    zhuan:https://blog.csdn.net/humanking7/article/details/45950967 range 函数说明:range([start,] stop[, ste ...

随机推荐

  1. 从lambda到函数式编程

    Object.send(:remove_const,'TRUE') Object.send(:remove_const,'FALSE') def to_integer(pro) pro[-> n ...

  2. runloop之于thread

    做一个技术方向久了,难免会沉溺其中,对当初开始接触这个方向的许多根本上的疑问渐渐都不了了之,意识上认为然,而不知其所以然. 最近重新梳理iOS的runloop,说说自己的理解,希望能说清楚. 先抛出一 ...

  3. js实现过滤重复字符和重复数组-javascript技巧

    js实现过滤重复字符 <script type="text/javascript"> <!-- String.prototype.noRepeatStr=func ...

  4. java和html的区别

    Java 不是一门程序语言,它是一个平台,也可以说是一门技术. Java 包括 1.Java 程式语言 一个类似 C++ 或 Smalltalk 的物件导向程式语言.学习 Java 程式语言类似学人类 ...

  5. JNDI初认识

    JNDI即Java命名和目录接口,英文全称为Java Naming and Directory Interface,从字面上似乎十分晦涩,下面从理论和实际项目应用方面来阐述. 1.命名:在我们实际生活 ...

  6. RabbitMQ 原文译1.1--HelloWord

    本系列文章均来自官网原文,属于个人翻译,如有雷同,权当个人归档,忽喷. RabitMQ 是一个消息中间件,其实就是从消息生产者那里接受消息,然后发送给消息消费者.在这个传输过程中,可以定义一些缓存,持 ...

  7. 20150503-struts2入门-标签

    一.几个标签介绍 1.property标签 property标签用于输出指定值: <s:set name="name" value="'kk'" /> ...

  8. Opencv——灰度直方图

    灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率. 如果将图像总像素亮度(灰度级别)看成是一个随机变量,则其分布情况就反映了图像的统计特性,这可用pro ...

  9. SecureCRT 7 注册码

    Name: Sherrill Ray Company:  空 Serial Number:03-40-084141 License Key: ABWGUE ZPPZ6X XHTN2S 1N7PER A ...

  10. ios--socket

    一.打开服务器 a.在终端打开,到服务器文件路径输入命令 python chatserver.py b.当显示 Iphone Chat server started 表示成功 二.建立连接 a.设置对 ...