range(1000)
在Python2中返回的是一个列表
在Python3中返回的是一个可迭代对象
将以下代码分别在Python2中和Python3中执行:
1 # coding=utf-8
2
3 from collections import Iterable
4 a = range(10)
5 print(a)
6 print(isinstance(a,Iterable))
在Python2中运行结果为:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
True
所以Python2中range直接返回的是一个列表,列表也是可迭代对象。如果想在Python2中返回一个可迭代对象可以用xrange
代替range
在Python3中运行的结果为:
range(0, 10)
True
在Python3中返回的是一个可迭代对象