我最近开始学习python 3。
在 python 2 中, range()
函数可用于分配列表元素:
>>> A = []
>>> A = range(0,6)
>>> print A
[0, 1, 2, 3, 4, 5]
但是在 python 3 中 range()
函数输出这个:
>>> A = []
>>> A = range(0,6)
>>> print(A)
range(0, 6)
为什么会这样?
为什么 python 会做这个改变?
这是福音还是祸根?
原文由 Hari Narayana Batta 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 3 使用 迭代器 来处理 python 2 使用 列表 的很多事情。 文档 给出了详细的解释,包括对
range
的更改。优点是如果您使用大范围迭代器或映射, Python 3 不需要分配内存。例如
在 python 3 中需要更少的内存。如果你碰巧希望 Python 一次扩展列表,你可以