重用 Python 生成器对象:
生成器是 Python 中的一个强大功能,是按需延迟计算的值序列。然而,由于其性质,发电机不能重绕。如果您希望多次重复使用生成器,您有多种选择:
1。重新启动生成器函数:
您只需重新运行生成器函数即可再次启动生成过程:
<code class="python">y = FunctionWithYield() for x in y: print(x) y = FunctionWithYield() for x in y: print(x)</code>
2.存储生成器结果:
或者,您可以将生成器结果存储在内存保留数据结构中,例如磁盘上的列表或文件。这允许您多次迭代结果:
<code class="python">y = list(FunctionWithYield()) for x in y: print(x) # Can iterate again: for x in y: print(x)</code>
权衡:
这些选项之间的选择取决于您的具体要求:
本质上,您面临内存使用和处理时间之间的经典权衡。没有完美的解决方案可以在不影响其中之一的情况下“倒带”发电机。
以上是如何多次重用 Python 生成器?的详细内容。更多信息请关注PHP中文网其他相关文章!