与所有生成器一样,您需要将其转换为列表并存储该结果:
a = list(a)
这是生成器的基本原理,期望它们仅生成 一次 序列。
而且,您不能简单地为生成备忘录而存储生成器,因为基础列表 可能会更改
。在几乎所有的备忘录用例中,您应该存储列表。生成器通常仅是一种有效地转换或过滤基础序列的方法,并不代表您想要记住的数据。好像您要存储一个函数,而不是它的输出。在您的特定情况下,如果您正在做的所有事情都是
chain()用来连接现有列表,请
直接存储这些列表 。
请注意,这使生成器可以产生无穷的序列,因此在转换为列表时要格外小心。



