Menggunakan Semula Objek Penjana Python:
Penjana, ciri berkuasa dalam Python, ialah jujukan nilai yang dikira secara malas atas permintaan. Walau bagaimanapun, disebabkan sifatnya, penjana tidak boleh diputar semula. Jika anda ingin menggunakan semula penjana beberapa kali, anda mempunyai beberapa pilihan:
1. Memulakan Semula Fungsi Penjana:
Anda boleh menjalankan semula fungsi penjana untuk memulakan semula proses penjanaan:
<code class="python">y = FunctionWithYield() for x in y: print(x) y = FunctionWithYield() for x in y: print(x)</code>
2. Menyimpan Keputusan Penjana:
Sebagai alternatif, anda boleh menyimpan hasil penjana dalam struktur data pengekalan memori, seperti senarai atau fail pada cakera. Ini membolehkan anda mengulangi keputusan berbilang kali:
<code class="python">y = list(FunctionWithYield()) for x in y: print(x) # Can iterate again: for x in y: print(x)</code>
Tradeoff:
Pilihan antara pilihan ini bergantung pada keperluan khusus anda:
Pada dasarnya, anda menghadapi pertukaran klasik antara penggunaan memori dan masa pemprosesan. Tiada penyelesaian yang sempurna untuk "menggulung semula" penjana tanpa menjejaskan satu atau yang lain.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan semula penjana Python beberapa kali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!