频道栏目
首页 > 程序开发 > Web开发 > Python > 正文
Python--xrange()和range()的区别不同
2013-12-06 14:41:45         来源:xiaowanggedege的专栏  
收藏   我要投稿

 

 

 

Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type copyright, credits or license() for more information.
>>> range(5)
[0, 1, 2, 3, 4]
>>> xrange(5)
xrange(5)
>>> print range.__doc__
range([start,] stop[, step]) -> list of integers

Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
When step is given, it specifies the increment (or decrement).
For example, range(4) returns [0, 1, 2, 3].  The end point is omitted!
These are exactly the valid indices for a list of 4 elements.
>>> print xrange.__doc__
xrange([start,] stop[, step]) -> xrange object

Like range(), but instead of returning a list, returns an object that
generates the numbers in the range on demand.  For looping, this is 
slightly faster than range() and more memory efficient.
>>> 

 

在 Python 2.x 版本中, range() 返回的结果是一个列表对象,而 xrange()返回的结果是一个 xrange对象,__doc__认真看,对于循环来说, xrange()比 range()快点,内存效率也要高点。

 

在 Python 3.x版本中, 挖坑TODO ------Windows环境和 阿里云服务器暂时没有 3.0版本。

 

可以看一些英文:

点击打开链接 这篇文章很好,有 how to use, The Difference Between xrange and range in Python, Example, In Python 3.0 Deprecation of Python’s xrange

 

点击打开链接 https://stackoverflow.com/questions/135041/should-you-always-favor-xrange-over-range

In python 3, range() is a generator anyway and xrange does not exist.

 

 

 

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:使用django从数据库中随机取N条记录的不同方法及其性能实测
下一篇:Python - for()循环 详解 及 代码
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站