Python xrange 和range的区别

range(1000)会返回一个长度为1000的数组,

而xrange(1000)会返回一个生成器,在需要的情况下返回一个数字,此时空间的占用情况会大为减少。

所以为了提升性能,在做循环的时候,应该尽可能的使用xrange,除非需要用range返回一个数组。

In [9]: xrange(5)
Out[9]: xrange(5)

In [10]: range(5)
Out[10]: [0, 1, 2, 3, 4]

In [11]: list(xrange(5))
Out[11]: [0, 1, 2, 3, 4]

In [12]: print type(xrange(4))
<type 'xrange'>

In [13]: print type(range(4))
<type 'list'>

 

上一篇:python – 关于内存效率:范围vs xrange,zip vs izip


下一篇:range和xrange