例外なく入れ子になったループから抜け出す
Python やその他の多くのプログラミング言語では、入れ子になったループから抜け出すのは面倒な作業になることがあります。例外をスローするのは一般的なアプローチですが、必ずしも最もエレガントで効率的な解決策であるとは限りません。
例外を使用せずにネストされたループから抜け出す別の方法があります。 1 つのアプローチは、break ステートメントと else ステートメントを組み合わせて使用することです。次のコードを考えてみましょう。
<code class="python">for x in range(10): for y in range(10): print(x * y) if x * y > 50: break else: continue # only executed if the inner loop did NOT break break # only executed if the inner loop DID break</code>
このコードでは、条件 x * y > が成立するとき、入れ子になったループ内で 50 が満たされると、すぐに内側のループから抜け出します。ただし、外側のループを続行する前に、内側のループに関連付けられた else ブロックが実行されます。これにより、次に進む前に、必要なクリーンアップや追加のアクションを実行できるようになります。
次の例に示すように、同じ原則をより深いレベルのネストにも適用できます。
<code class="python">for x in range(10): for y in range(10): for z in range(10): print(x, y, z) if (x * y * z) == 30: break else: continue break else: continue break</code>
このアプローチは、入れ子になったループから抜け出す、より構造化された直感的な方法を提供します。 Break ステートメントと else ステートメントを利用すると、例外に頼ることなく、プログラムのフローをより効果的に制御できます。
以上がPython で入れ子になったループを例外なく抜け出す方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。