文档中对range与xrange的介绍如下:
range([start], stop[,step])
This is a versatile function to create lists containing arithmetic progressions. It is most often used in for loops.
xrange([start], stop[,step])
This function is very similar to range(),but returns an “xrange object” instead of alist.
从文档中可以看出,两者的区别很小,一般被用于循环语句中。
for i in range(0,100):
print i
for i in xrange(0,100):
print i
这两段代码的输出结果是一样的,但是我们可以通过另外的两段代码来寻找它们之间的区别
a = range(0,100)
type(a)
b=xrange(0,100)
type(b)Result:<type 'list'>
<type 'xrange'>从上述结果可以看出range()会直接生成list对象,xrange()则不会,而是每次调用返回其中的一个值
故xrange()做循环的性能比range()要好,除非需要返回一个list,否则尽量使用xrange()。
本文详细介绍了Python中range与xrange函数的区别。range函数生成的是一个列表对象,而xrange则返回一个迭代对象,每次调用返回其中的一个值。因此,在进行循环操作时,xrange的性能通常优于range,除非需要将结果保存为列表。
3272

被折叠的 条评论
为什么被折叠?



