\

Pythonでは、breakcontinue文を使用してループのフローを変更することができます。breakはループ全体を終了し、continueは現在の反復をスキップして次の反復に進みます。

しかし、複数のネストされたループから一度に抜け出すにはどうすればよいでしょうか?その答えは、組み込みのStopIteration例外を使用した「シミュレートされたgoto文」です。

以下にその例を示します。

try:
    for outer in range(100):
        for inner in range(100):
            if break_early():
                raise StopIteration
except StopIteration:
    pass

このコードでは、break_early()関数がTrueを返すと、StopIteration例外が発生し、try/exceptブロックがそれを捕捉してループから抜け出します。

この方法を使用すれば、関数にリファクタリングすることなく、複数のネストされたループから抜け出すことが可能です。

以上がPythonで複数のループから抜け出す方法についての説明です。このテクニックを覚えておくと、複雑なループ構造を扱う際に役立つでしょう。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です