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的区别的主要内容,如果未能解决你的问题,请参考以下文章

python中的range和xrange有啥区别? [复制]

python2中range和xrange的区别

Range和xrange的区别

python(47):range和xrange的区别和联系

Python细说 xrange 和 range 的区别

python range() 和xrange()的区别