我认为range()函数返回一个列表,其中包含您放在括号内的参数。但是当我在IDLE中输入range(4)
时,我得到range(0, 4)
作为输出。类似地,当我输入print(range(4))
时,也会得到range(0, 4)
作为输出。我目前正在使用Python3.5。
我目前正在使用以下电子书学习python:“如何像计算机科学家一样思考”,在那本电子书中,它们提供了活动代码块,您可以在其中运行python代码。当我在那里运行print(range(4))
时,我得到了我期望的列表,即[0, 1, 2, 3]
。
有人能给我解释一下吗?
提前谢谢!
您正在阅读的书可能使用Python 2,其中^{} 返回一个列表。
在Python 3中,^{} 返回的是immutable sequence type。
range(a, b)
返回类range
的实例。你可以通过print(type(range(1, 5)))
来检查它。你所期望的可以通过
print(list(range(a, b)))
得到。您的书可能是使用Python2.x编写的。在Python2.x中,range函数实际上返回了一个for循环将遍历的列表。在Python3.x中,range函数是它自己的类型,实际上是一个生成器函数,因此当for循环执行时,数字会动态生成。
如果将一个range函数传递到一个类似的列表中,则仍然可以从该函数创建一个列表。
它将输出包含以下内容的列表。
相关问题 更多 >
编程相关推荐