入れ子ループからの脱却: 包括的なアプローチ
入れ子ループは基本的なプログラミング構造ですが、途中で終了するのは困難な場合があります。多くの言語では、従来の解決策には例外をスローすることが含まれており、これにより見苦しいコードが生成される可能性があります。ただし、より洗練されたメソッドも利用できます。
'break' および 'else' コンストラクトの紹介
1 つのアプローチは、'break' と 'else' を使用することです。構築します。 「break」ステートメントは、それが含まれる最も内側のループを直ちに終了します。「else」ステートメントは、「for」ループの後に配置されると、「break」に遭遇せずにループが完了した場合にのみ実行されます。
たとえば、次のコードは、'x' と 'y' の積が 50 を超えるとネストされたループから抜け出します。
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
このアプローチにより、例外のスローが回避され、よりクリーンなコード構造が提供されます。
より深いループへの拡張
「break」構造と「else」構造は、より深いループでも同様に機能します。たとえば、次のコードは、「x」、「y」、および「z」の積が 30 に等しい場合に最も外側のループから抜け出します。
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 # inner loop did NOT break break # inner loop DID break else: continue # middle loop did NOT break break # middle loop DID break
このエレガントなソリューションにより、ループの実行を正確に制御できます。 、コードの可読性と保守性が向上します。
以上がコード内のネストされたループから効率的に抜け出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。