ホームページ >バックエンド開発 >Python チュートリアル >複数の反復のために Python ジェネレーターを再構成するにはどうすればよいですか?
Python のジェネレーターは、データを遅延評価して、一度に 1 つずつ値を生成する効率的な方法です。ただし、ジェネレーターは 1 回しか反復できません。ジェネレーターを複数回繰り返す必要がある場合は、いくつかのオプションがあります。
ジェネレーターをリセットする最も簡単な方法は、単純にジェネレーターを実行することです。再び機能します。これにより、独立して反復できる新しいジェネレーター オブジェクトが作成されます。
<code class="python">y = FunctionWithYield() for x in y: print(x) y = FunctionWithYield() for x in y: print(x)</code>
ジェネレーターの結果をデータ構造に保存することもできます。メモリ上のリストなど。これにより、結果を複数回繰り返すことができます。
<code class="python">y = list(FunctionWithYield()) for x in y: print(x) # can iterate again: for x in y: print(x)</code>
オプションの選択は、特定のパフォーマンス要件によって異なります。オプション 1 はジェネレーターの結果を保存する必要がないため、メモリの観点からはより効率的です。ただし、オプション 2 は、ジェネレーター関数を再実行する必要がないため、処理の観点からはより効率的です。
最終的に、Python でジェネレーター オブジェクトをリセットする最良の方法は、そのコンテキストによって異なります。使用されています。
以上が複数の反復のために Python ジェネレーターを再構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。