【发布时间】:2021-01-13 00:33:50
【问题描述】:
根据 Python 文档,当我执行 range(0, 10) 时,此函数的输出是一个从 0 到 9 的列表,即 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]。然而,我的电脑上的 Python 安装并没有输出这个,尽管有很多在线工作的例子。
这是我的测试代码...
test_range_function = range(0, 10)
print(test_range_function)
print(type(test_range_function))
我想这个的输出应该是打印出来的列表,type函数应该把它输出为一个列表。相反,我得到以下输出...
c:\Programming>python range.py
range(0, 10)
<class 'range'>
我在网上的任何示例中都没有看到这一点,并且非常感谢能对此有所了解。
【问题讨论】:
-
你读过 3.x 版本的 python 文档吗?要获取列表,您必须执行
list(range(0, 10))。 -
这是从 2.x 到 3 的更改,记录在这里:docs.python.org/3.0/whatsnew/…。大多数情况下,无论如何你最好使用迭代器,但是如果你确实需要它,arbauthc 的评论会显示创建列表。
-
如果您正在查看Python documentation online,请始终确保您正在阅读您正在使用的版本的文档。每个页面的左上角都有一个小选项菜单显示,例如“2.7.5”,您可以将其更改为“3.3”。
-
感谢所有回复,我觉得不看正确的 Python 文档很愚蠢,但希望我不会再犯这个错误!
-
@FiveAlive:好吧,即使我知道得更多,我仍然会犯这个错误。 (为什么
print函数在我传递两个值时打印一个元组,这两个值都不是元组?!)你认为我们怎么能这么快就认识到这个问题? :)
标签: python python-3.x