登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[Python] range & xrange

2006-10-18 13:04:00|  分类: lang_python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在 Python 中,range 和 xrange 均可以用来做迭代的范围,不过 range 返回的是 list,而 xrange 则返回一个 xrange object。
>>> type(range(10))
(type 'list')
>>> type(xrange(10))
(type 'xrange')
Python Manual 里面说,xrange 是“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.”,因此在迭代的时候,xrange 更有效率。

下面是 range 和 xrange 对比的文字,可以看出,range 是一次运算,得到所有的元素,然后迭代,自然内存占用会大许多;而 xrange 是每次迭代才返回本次的计算结果。

for x in range(10000):
will generate a list of ten thousand elements, and will then loop through each of them in turn

for x in xrange(10000):
will genarate ten thousand integers one by one, passing each to the variable x in turn.
  评论这张
 
阅读(1739)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018