range和xrange的区别

range和xrange的区别

Dawn
2021-01-05 / 0 评论 / 216 阅读 / 正在检测是否收录...

首先声明:xrange在python3中已经木得了

range

在python2中range可以直接返回一个列表

list = range(0, 4)  # 可以直接得到list = [0, 1, 2, 3]
type(list)  # <type 'list'>

而在python3中则完全不同

list = range(0, 4)  # 得到list = range(0, 4)
type(list)  # <class 'range'>

xrange

返回的是一个生成器,不会一下子开辟出所有的内存空间,用到的时候才开,不会造成内存浪费。

list = range(0, 4)  # 得到list = range(0, 4)
type(list)  # <type 'xrange'>

总结,python3弃用了xrange,但python3的range功能和python2的xrange一样,都是一个生成器。

3

评论 (0)

取消