I. *_*wib 5 python range python-3.x python-3.5
我认为range()函数返回一个列表,其中包含放在括号内的参数.但是当我输入range(4)IDLE时,我得到range(0, 4)输出.同样,当我输入时print(range(4)),我也得到range(0, 4)输出.我目前正在使用python 3.5.
我目前正在使用以下电子书学习python:"如何像计算机科学家一样思考",在该电子书中,它们提供了可以运行python代码的活动代码块.当我print(range(4))在那里跑步时,我确实得到了我期望的列表,即[0, 1, 2, 3].
谁可以给我解释一下这个?
提前致谢!
小智 6
您的书可能是使用Python 2.x编写的。在Python 2.x中,range函数实际上返回了for循环将迭代通过的列表。在Python 3.x中,范围函数是它自己的类型,实际上是生成器函数,因此在执行for循环时即时生成数字。
如果像这样将其传递到列表中,仍然可以从范围函数创建列表。
list(range(4))
Run Code Online (Sandbox Code Playgroud)
将输出包含以下内容的列表。
[0,1,2,3]
Run Code Online (Sandbox Code Playgroud)