python的arrange函数(python中xrange是什么?为什么不常用?)
在我们讨论列表的返回值时 ,会提到range函数来处理 ,与之在函数名称上很像的就是xrange函数 ,不过它并不建立列表 ,这点是和range有着不同 ,如果小伙伴们想计算返回值的话 ,使用xrange函数也是一个不错的选择 。下面我们就xrange与range进行区别 ,了解基础内容后 ,相信大家能明白为什么xrange很少见了 。
1.xrange与range区别
range的返回值就是一个list ,在你调用range的时候 ,Python会产生所有的元素 。而xrange是一个特别设计的可迭代对象 ,它在建立的时候仅仅保存终止值 。你可比较以下两种写法的实际运行结果:
forvinrange(1000000000000):#possibleMemoryError ifv==2: break forvinxrange(1000000000000):#fine ifv==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
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!