在开始学习python时学到的是range,但是发现好多python写的代码更多用xrange,粗略一看,两个方法貌似基本一样:

for i in range(1,10):

    print i
for i in xrange(1,10):

    print i

两者输出的结果是一样的,看来两者用起来的效果是一样的。那么再从领一个方面对比下:

msg = xrange(1,10)

print type(msg)

结果:

<type 'xrange'>

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

msg = range(1,10)

print type(msg)

结果:

<type 'list'>

 通过这个对比可以看出,xrange() 类似 range() , 不过当你有一个很大的范围列表时, xrange() 可能更为适合, 因为它不会在内存里创建列表的完整拷贝. 它只被用在 for 循环中, 在 for 循环外使用它没有意义。同样地, 你可以想到, 它的性能远高出 range(), 因为它不生成整个列表。