Py2.x

1) .range xrange都是经常使用的,特别是range()返回一个列表

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2) .xrange()一般用来创建迭代对象

01_python2.x和python3.x中range()的区别 算法 第1张

Py3.x

xrange()不存在了,只有range()range()相当于py2.x里面的xrange()是可迭代对象,

想要获取列表,必须使用list()函数

 

01_python2.x和python3.x中range()的区别 算法 第2张

01_python2.x和python3.x中range()的区别 算法 第3张

 

总结:

(1)主要对内存的节约py2.x里面比如你range(10000),一下子就生成一个长度为10000的内存空间,而py3range(1000)返回的不是列表是一个迭代器,你用的时候一个一个循环取出来,对内存节省很多。

(2) Python2 中很多返回列表对象的内置函数和方法在 Python 3 都改成了返回类似于迭代器的对象,因为迭代器的惰性加载特性使得操作大数据更有效率。生成器,占用很小的内存。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄