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. Python 文件操作模块 shutil 详解

    1.导入模块 shutil import shutil 2.shutil方法 2.1 shutil.copy(src,dst) //将 src 复制到 dst 保留文件权限    例:将Alan复制到 ...

  2. 关于JFace中的进度条对话框(ProgressMonitorDialog类)

    在Windows操作系统中,最常用的进度条对话框就是文件复制时的弹出框,如果想让用户愉快的使用你开发 的软件,那么在执行某个较长时间的操作时候,就应该弹出一个进度条提示框,告诉用户程序正在做什么. 做 ...

  3. 关于Ajax的实现

    AJAX:Asynchronous Javascript And XML.异步的JavaScript和XML. 同步请求: 异步请求: 1.1.1    XMLHttpRequest对象的介绍: 方法 ...

  4. Divide and conquer method

    分治法是最广泛使用的算法设计方法之一,其基本思想:把大问题分解成一些较小的问题,然后由小问题的解方便地构造出大问题的解. 分治法说穿了就是把问题放小,如果被分的问题还是比较大,那么久继续分下去.为了能 ...

  5. 搭建scala开发环境

    下载scala 2.11.5 安装eclipse LUNA版本 安装scala IDE插件:http://download.scala-ide.org/sdk/lithium/e44/scala211 ...

  6. 高级C#

    使用delegates委托写插件方法: public delegate int Transformer (int x); public class Util { public static void ...

  7. Java中内存空间的分配及回收

    Java中内存分为: 栈:存放简单数据类型变量(值和变量名都存在栈中),存放引用数据类型的变量名以及它所指向的实例的首地址. 堆:存放引用数据类型的实例. Java的垃圾回收: 由一个后台线程GC(G ...

  8. Attribute (一)

    本文导读 1.概念 2.自定义一个 Attribute 概念       Attribute是一个特殊的类,我们知道 .NET 程序集 具有自描述的特性(由于元数据),Attribute和.NET的元 ...

  9. OC3_字典

    // // main.m // OC3_字典 // // Created by zhangxueming on 15/6/12. // Copyright (c) 2015年 zhangxueming ...

  10. indeed 第二次笔试题

    1. Maximal Values 很简单,从前往后扫,找满足的,O(n),很容易就过掉了. maxn = 100. 没啥难点. 2. Bi-gram 用map统计个数,从前往后扫,每2个字符作为一个 ...