如何多次重用 Python 生成器?

DDD
发布: 2024-10-31 20:00:02
原创
352 人浏览过

How can I reuse a Python generator multiple times?

重用 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板