range和xrange的区别
Posted xxxsans
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了range和xrange的区别相关的知识,希望对你有一定的参考价值。
只有在python2中才有xrange和range,python3中没有xrange,并且python3中的range其实是py2中的xrange。下面说说py2的range和xrange的区别
在py2中,range得到的是一个列表
x = range(0, 5) print(type(x)) # 结果是list print(x) # 结果是[0,1,2,3,4]
xrange得到的是一个生成器对象
x = xrange(0, 5) print(type(x)) # 结果是一个生成对象 print(x) # 结果是xrange(0,5)
再用py3
xrange的用法与range相同,不同的是xrange并不是生成列表,而是作为一个生成器。即数据生成一个取出一个。
相对来说,xrange比range性能优化很多,因为他不需要一下子开辟一块很大的内存,特别是数据量比较大的时候。
以上是关于range和xrange的区别的主要内容,如果未能解决你的问题,请参考以下文章