在Python中,我们可以生成数据序列,但只有在我们使用生成器或评估映射或范围时才使它们具体化。
这是什么术语?我找到this answer,其中使用了物化的术语:
只需在生成器上调用
list()
,以便在需要实现结果的情况下
为了清楚起见,在Python 2中我们有,例如:
>>> range(5)
[0, 1, 2, 3, 4]
但是在Python 3中我们有:
>>> range(5)
range(0, 5)
我们可以使用它并将其具体化为一个列表:
>>> list(_)
[0, 1, 2, 3, 4]
关于PEP 255 - Simple Generators中解析的部分说:
程序可能非常大,因此没有先验限制可以放在实现整个解析所需的内存上
是否具体化了正确的术语,还是还有其他的东西?