`

range和xrange

阅读更多
这两个基本上都是在循环的时候用。

for i in range(0, 100):
    print i

for i in xrange(0, 100):
    print i

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

a = range(0,100)
print type(a)
print a
print a[0], a[1]

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

a = xrange(0,100)
print type(a)
print a
print a[0], a[1]

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

尽量用xrange吧,除非你是要返回一个列表。
>>> a = range(0, 100)
>>> print type(a)
<type 'list'>
>>> print a
[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, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
>>> print a[0]
0
>>> a = xrange(0, 100)
>>> print type(a)
<type 'xrange'>
>>> print a
xrange(100)
>>> print a[0]
0
分享到:
评论

相关推荐

    浅谈Python中range和xrange的区别

    本篇文章主要介绍了浅谈Python中range和xrange的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    深入理解Python中range和xrange的区别

     python中xrange和range的区别 python中range()与xrange()用法分析 本次小编给大家带来的是深入理解range和xrange之间的区别。 两种用法介绍如下: 1.range([start], stop[, step]) 返回等差数列。构建等差数列,...

    python中xrange和range的区别

    range 函数说明:range([start...xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。xrange示例:复制代码 代码如下:&gt;&gt;&gt; xrange(5)xrange(5)&gt;&gt;&gt; list(xrange(5))[0, 1, 2, 3, 4]&gt;&gt;&gt;

    Python3如何使用range函数替代xrange函数

    在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典...在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange

    Python中xrange与yield的用法实例分析

    Python提供了生成和返回整数序列的内置函数range及xrange,虽然这两个函数在功能上是差不多的,但其实现原理还是有差别的。range(n, m)返回的是一个从n到(m-1)的连续的整数列表,而xrange(n, m)返回的却是一个特殊的...

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

    本文实例讲述了python中range()与xrange()用法。分享给大家供大家参考,具体如下: 据说range比xrange开销要大,原因是range会直接生成一个list对象,而xrange每次调用返回其中的一个值(参考://...

    python试题python面试题目

    10道python初学者面临的基础问题 Python中是否需要缩进? Python数组和列表有什么区别? Python中的函数是什么? 什么是__init__?...range和xrange有什么区别? 如何在Python中写注解? Python中生成器是什么?

    xrange:xrange内置的纯Python实现

    xrange.py Python 2.7内置xrange的纯Python实现,并且从该版本的Python ... 没有充分的理由在代码中使用它,它的目的是记录和描述xrange或range内建xrange的行为,以及通常实现Sequence协议的对象的行为。 在了解更多

    python中xrange用法分析

    本文实例讲述了python中xrange用法。分享给大家供大家参考。具体如下: 先来看如下示例: &gt;&gt;&gt; x=xrange(0,8) ...IndexError: xrange object index out of range &gt;&gt;&gt; x=range(0,8) &gt;&gt;&gt; print x [0, 1, 2, 3, 4,

    浅谈Python中range与Numpy中arange的比较

    本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明。 1. range与arange的比较 (1)相同点:A、参数的可选性、默认缺省值是一样的;B、结果均包括...

    PyJumble:Python 存储库

    ##关于 Python 的事情要记住:###1- range vs xrange range 函数创建一个包含由输入定义的数字的列表。 xrange 函数创建一个数字生成器。 您会经常看到 xrange 的使用频率比 range 高得多。 这只是一个原因 - 资源...

    xRange:有用的DOM &lt;=> xpath &lt;=> Range函数套件

    x范围 有用的DOM &lt;=&gt; xpath &lt;=&gt; Range函数套件 更多信息即将到来!

    Python程序设计PPT

    在Python 2.x中xrange()创建迭代对象的用法是非常流行的,比如:for循环或者是...在Python 3.x中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange()(在Python 3.x中使用xrange()会触发NameError)。

    Python 面试题汇总及答案详解完整版

    1:为什么学习 Python 2:通过什么途径学习 ...19:xrange 和 range 的区别 20:文件操作时:xreadlines 和 readlines 的区别 21: 列列举布尔值为 False 的常见值 22. 字符串、列表、元组、字典每个常用的 5 个方法

Global site tag (gtag.js) - Google Analytics