ホームページ  >  記事  >  バックエンド開発  >  Python で入れ子になったループを例外なくエスケープする方法?

Python で入れ子になったループを例外なくエスケープする方法?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-02 12:02:30595ブラウズ

How to Escape Nested Loops in Python Without Exceptions?

例外を使用せずにネストされたループをエスケープする

例外を使用してネストされたループから抜け出すことは可能ですが、面倒になる可能性があります。幸いなことに、Python ではよりクリーンなアプローチが利用できます。

「break」ステートメントと「Continue」ステートメントの使用

より洗練された解決策には、break ステートメントと continue ステートメントを使用することが含まれます。 Break ステートメントはすぐに最も内側のループを終了しますが、Continue は現在のループ内の次の反復に進みます。

次のネストされたループを考えてみましょう。

<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>

この例では、break ステートメントは次のループ内で実行されます。内側のループでは、条件 x * y > の場合に両方のループを終了できます。 50は満たされています。内部ループの後の else 節は、内部ループが (ブレークに遭遇することなく) 正常に終了したかどうかをチェックします。存在する場合は、 continue ステートメントを実行して、外側のループの次の反復に進みます。

複数のネストされたループを使用した例

この手法は、より深いループに拡張できます。

<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>

このコードは、条件 (x * y * z) == 30 が満たされた場合に 3 つのネストされたループすべてから抜け出す方法を示しています。 else ステートメントと continue ステートメントは、内側のループの終了ステータスに基づいて外側のループが正しく走査されることを保証します。

以上がPython で入れ子になったループを例外なくエスケープする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。