在我们讨论列表的返回值时,会提到range函数来处理,与之在函数名称上很像的就是xrange函数,不过它并不建立列表,这点是和range有着不同,如果小伙伴们想计算返回值的话,使用xrange函数也是一个不错的选择。下面我们就xrange与range进行区别,了解基础内容后,相信大家能明白为什么xrange很少见了。
站在用户的角度思考问题,与客户深入沟通,找到海安网站设计与海安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、网页空间、企业邮箱。业务覆盖海安地区。
1.xrange与range区别
range的返回值就是一个list,在你调用range的时候,Python会产生所有的元素。而xrange是一个特别设计的可迭代对象,它在建立的时候仅仅保存终止值。你可比较以下两种写法的实际运行结果:
for v in range(1000000000000): #possible Memory Error if v == 2: break for v in xrange(1000000000000): #fine if v == 2: break
在Python 3.X 中,不再有内建的xrange,其range等效于Python 2.X 的xrange
2.xrange参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如 xrange(5) 等价于 xrange(0, 5)
stop: 计数到 stop 结束,但不包括 stop。例如:xrange(0, 5) 是 [0, 1, 2, 3, 4] 没有 5
step:步长,默认为1。例如:xrange(0, 5) 等价于 xrange(0, 5, 1)
3.xrange返回值
返回生成器。
4.总结:
1.range和xrange都是在循环中使用,输出结果一样。
2.range返回的是一个list对象,而xrange返回的是一个生成器对象(xrange object)。
3.xrange则不会直接生成一个list,而是每次调用返回其中的一个值,内存空间使用极少,因而性能非常好。
特别提醒: xrange函数在Python3中已经取消,在python3中,range()这种实现被移除了,保留了xrange()的实现,且将xrange()重新命名成range()。
所以Python3不能使用xrange,只能使用range
相信经过本篇的学习,小伙伴们已经能够理解不使用xrange的原因了。而且本身新手用python3多一点,所以可能没见过xrange,今天也算是一个内容的拓展。
本文标题:创新互联Python教程:python中xrange是什么?为什么不常用?
转载来源:http://www.mswzjz.cn/qtweb/news37/525337.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能