Py2.x
1) .range 和xrange都是经常使用的,特别是range()返回一个列表
2) .xrange()一般用来创建迭代对象
Py3.x
xrange()不存在了,只有range()而range()相当于py2.x里面的xrange()是可迭代对象,
想要获取列表,必须使用list()函数
总结:
(1)主要对内存的节约,py2.x里面比如你range(10000),一下子就生成一个长度为10000的内存空间,而py3的 range(1000)返回的不是列表是一个迭代器,你用的时候一个一个循环取出来,对内存节省很多。
(2)在 Python2 中很多返回列表对象的内置函数和方法在 Python 3 都改成了返回类似于迭代器的对象,因为迭代器的惰性加载特性使得操作大数据更有效率。生成器,占用很小的内存。