美文网首页
xrange 和 range 的区别

xrange 和 range 的区别

作者: 酷酷滴小爽哥 | 来源:发表于2019-08-06 15:50 被阅读0次

在 Python2 中两者的主要区别是 range 生成的是一个 list,而 xrange 生成的是一个生成器::

>>> a = range(5)
>>> a
[0, 1, 2, 3, 4]
>>> b = xrange(5)
>>> b
xrange(5)
>>> list(b)
[0, 1, 2, 3, 4]

在 Python3 中只有 range,其是一个生成器:

>>> a = range(5)
>>> a
range(0, 5)
>>> list(a)
[0, 1, 2, 3, 4]
>>> b = xrange(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'xrange' is not defined
总结:

使用 Python2 时要生成很大的数字序列的时候,用 xrange 会比 range 性能优很多,因为不需要一上来就开辟一块很大的内存空间。
在使用 Python3 时,默认使用生成器。

相关文章

  • 每天五道面试题(4)

    xrange和range的区别? 只有在python2中才有xrange和range,python3中没有xran...

  • 迭代器应用

    python2中:range和xrange的区别:range存储的是生成后的值,xrange存储的是生成值得方法 ...

  • 列表生成器

    先说下xrange和range区别: range直接返回的是list对象 xrange则是每掉一次返回一个值,不是...

  • python 迭代器和生成器

    python2在range, xrange区别的时候,range 生成的是一个list,占内存大;而xrange是...

  • xrange 和 range 的区别

    在 Python2 中两者的主要区别是 range 生成的是一个 list,而 xrange 生成的是一个生成器:...

  • range()、np.arange()和np.random相关总

    range()和xrange()函数 在 python 2.x 版本中,同时存在range()和xrange()函...

  • range与xrange区别

    python中的range函数是返回一个列表,这个就很简单了,而xrange函数是生成器,也就是在每次循环时能够挨...

  • range函数和xrange函数

    python2.7中有xrange函数和range函数 python3中把range优化了,合并了xrange和r...

  • xrange()和range()

    range([start, ] end [, step])函数有三个参数,start, end ,step,分别代...

  • Python中range和xrange的区别

    range()是Python的内置函数,用于创建整数的列表,可以生成递增或者递减的数列。xrange也有相同的功能...

网友评论

      本文标题:xrange 和 range 的区别

      本文链接:https://www.haomeiwen.com/subject/tycwdctx.html