目录
背景
第一部分 变量说明
第二部分 总结
参考文献及资料
背景
通常使用Python语言时,我们实现遍历的需求场景的时候,会经常使用range和xrange。
https://zhuanlan.zhihu.com/p/34157478
第一部分 range
和xrange
由于Py3
和Py2
已有变化,所以分两个环境看:
1.1 Python 2.x
直接看案例:
1 | for i in range(5): |
发现在range(5)
返回就是一个list类型。
1 | for i in xrange(5): |
xrange
返回的是一个生成器对象(xrange object
)。xrange()
不会直接生成一个list
,而是每次调用返回其中的一个值,内存空间使用极少。例如下面的代码:
1 | import sys |
1.1 Python 3.x
在python3
中没有xrange
,只有range
。其实应该是:python3
的range
就是xrange
1 | for i in range(5): |
这里也是生成器对象。
第二部分
在 Python 3 中,enumerate、zip、reversed
和其他一些内置函数会返回迭代器:
参考文献及资料
1、变量官网介绍: