- 使用的电脑系统:Windows 10 64位
- 使用的开发集成环境:PyCharm 2016.1.4
- 使用的Python的版本:python 2.7.10 和 python 3.5.0
range()
函数
- Python2中:用来创建一个列表(list)。
- Python3中:用来创建一个可以生成list或者tuple的生成器。
Python2 range()
函数 知识点
Python2 中的range()
函数可以生成一个list。(分配内存空间)
1 2 3 4 |
|
Python2 中的xrange()
函数不是生成一个list,而是生成一个生成器,不分配内存。
1 2 3 4 5 6 |
|
Python3 range()
函数 知识点
1 2 |
|
输出:(打印出来的不是一个列表,而是一个生成器)。
Python3 选择这样做的原因:可以节约内存空间,详情请参考这篇博客:Python2和Python3的内存释放。
Python3中的range()
函数的功能和Python2中的xrange()
函数一样,所以在Python3中没有xrange()
函数。
要想生成list或者tuple,这样做:
1 2 3 4 5 6 7 8 9 |
|
range()
函数的使用
下面这段代码在Python2 和 Python3中得到的运行结果都是一样的。
1 2 |
|
输出:
1 2 3 4 5 6 7 8 9 10 |
|
运行结果是一样的,但是运行的原理不同:
- Python2:在第一次执行
range(10)
,就生成了一个[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
列表。 - Python3:在每次执行
range(10)
时,生成一个元素i
。