首页 > 学院 > 开发设计 > 正文

range函数和xrange函数

2019-11-08 01:18:23
字体:
来源:转载
供稿:网友

range函数 将会一下子迭代生成一个序列

xrange函数 将会产生一个生成器,而不是直接生成列表,在资源占用上比较节省

这里写图片描述

python2.X和python3.X的区别

在Python 2.x中,经常会用xrange()创建一个可迭代对象,通常出现在“for循环”或“列表/集合/字典推导式”中。这种行为与生成器非常相似(如”惰性求值“),但这里的xrange-iterable无尽的,意味着可能在这个xrange上无限迭代。由于xrange的“惰性求知“特性,如果只需迭代一次(如for循环中),range()通常比xrange()快一些。不过不建议在多次迭代中使用range(),因为range()每次都会在内存中重新生成一个列表。

在Python 3中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange()(在Python 3中使用xrange()会触发NameError)。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表