Python中range和xrange的区别

来源:互联网 发布:安卓手机数据恢复 编辑:程序博客网 时间:2024/05/18 00:42

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

In [1]: for i in range(0,10):   ...:     print i   ...:     0123456789In [2]: for i in xrange(0,10):    print i   ...:     0123456789

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

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

In [3]: a=range(0,100)In [4]: type(a)Out[4]: listIn [5]: a=xrange(0,100)In [6]: type(a)Out[6]: xrangeIn [7]: print a[0],a[1]0 1

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

尽量用xrange吧,除非你是要返回一个列表。

--------------------------------------------------------------------

 

原创粉丝点击