python中xrange和range的区别

时间:2023-03-08 19:49:03

这两个基本上都是在循环的时候用。

for i in range(0, 100):
print i for i in xrange(0, 100):
print i

这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象:

a = range(0,100)
print type(a)
print a #[0,1,2...]
print a[0], a[1]

而xrange则不会直接生成一个list,而是每次调用返回其中的一个值

a = xrange(0,100)
print type(a) #<type 'xrange'>
print a #xrange(100)
print a[0], a[1]

所以xrange做循环的性能比range好,尤其是返回很大的时候!