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