`
heipark
  • 浏览: 2077915 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python中range()与xrange区别

 
阅读更多

 1. range()返回一个list,xrange()返回一个迭代对象

 

print range(10)
print xrange(10)

print type(range(10))
print type(xrange(10))

输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
xrange(10)
<type 'list'>
<type 'xrange'>

 

 2. 通过sys.getsizeof(()方法可以看到range返回list,它所占内存为所有元素累加;xrange则只返回一个32byte的对象,无论它要返回多少数值。

import sys

print sys.getsizeof(range(10000))
print sys.getsizeof(xrange(10000))
print sys.getsizeof(xrange(100))

输出:
80064
32
32

 

3. 性能比较

 

import time

start = time.time()

for i in  range(100000000):
    pass

print "range use %ss" % (int(time.time() - start))

start = time.time()
for i in xrange(100000000):
    pass

print "xrange use %ss" % (int(time.time() - start))

输出:
range use 6s
xrange use 4s

 

 

4. 总结

正常情况下,使用range和xrange都行,如果你range值很大,则无论存储空间还是迭代性能xrange都优于range。

分享到:
评论

相关推荐

    浅谈Python中range和xrange的区别

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

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

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

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

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

    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中xrange与yield的用法,结合实例形式较为详细的分析了range和xrange功能、使用方法与相关注意事项,需要的朋友可以参考下

    python中xrange用法分析

    本文实例讲述了python中xrange用法。分享给大家供大家参考。具体如下: 先来看如下示例: &gt;&gt;&gt; x=xrange(0,8) &gt;&gt;&gt; print x xrange(8) &gt;&gt;&gt; print x[0] 0 &gt;&gt;&gt; print x[7] 7 &gt;&gt;&gt; print x[8] Traceback (most recent ...

    Python程序设计PPT

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

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

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

    python试题python面试题目

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

    xrange:xrange内置的纯Python实现

    Python 2.7内置xrange的纯Python实现,并且从该版本的Python 3.x range内置(代替xrange )向后移植了一些功能。 没有充分的理由在代码中使用它,它的目的是记录和描述xrange或range内建xrange的行为,以及通常...

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

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

    PyJumble:Python 存储库

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

    Python核心编程第二版

     1.7 比较Python(Python与其他语言的比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,print语句及“Hello World!”   2.2 程序输入和raw_input()内建函数   2.3 注释  ...

Global site tag (gtag.js) - Google Analytics