首頁  >  文章  >  後端開發  >  如何多次重複使用 Python 生成器?

如何多次重複使用 Python 生成器?

DDD
DDD原創
2024-10-31 20:00:02350瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn