python中xrange和range的区别

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

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好,尤其是返回很大的时候!

上一篇:malloc 函数到底做了什么?


下一篇:Shell基础(四):字符串截取及切割、字符串初值的处理、基使用Shell数组、expect预期交互、使用正则表达式