Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entkomme ich verschachtelten Schleifen in Python ohne Ausnahmen?

Wie entkomme ich verschachtelten Schleifen in Python ohne Ausnahmen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-02 12:02:30595Durchsuche

How to Escape Nested Loops in Python Without Exceptions?

Verschachtelte Schleifen ohne Ausnahmen umgehen

Die Verwendung von Ausnahmen zum Ausbrechen verschachtelter Schleifen ist zwar möglich, kann aber umständlich sein. Glücklicherweise gibt es in Python sauberere Ansätze.

Verwendung der Anweisungen „break“ und „continue“

Eine elegantere Lösung besteht in der Verwendung der Anweisungen „break“ und „continue“. Die break-Anweisung verlässt sofort die innerste Schleife, während continue mit der nächsten Iteration innerhalb der aktuellen Schleife fortfährt.

Betrachten Sie die folgende verschachtelte Schleife:

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

In diesem Beispiel ist die break-Anweisung innerhalb Die innere Schleife ermöglicht es uns, beide Schleifen zu verlassen, wenn die Bedingung x * y > 50 ist erreicht. Die else-Klausel nach der inneren Schleife prüft, ob die innere Schleife normal beendet wurde (ohne auf eine Unterbrechung zu stoßen). Wenn ja, wird die continue-Anweisung ausgeführt, um mit der nächsten Iteration der äußeren Schleife fortzufahren.

Beispiel mit mehreren verschachtelten Schleifen

Diese Technik kann auf tiefere Schleifen erweitert werden außerdem:

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

Dieser Code zeigt, wie man aus allen drei verschachtelten Schleifen ausbricht, wenn die Bedingung (x * y * z) == 30 erfüllt ist. Die Anweisungen else und continue stellen sicher, dass die äußeren Schleifen basierend auf dem Beendigungsstatus der inneren Schleifen korrekt durchlaufen werden.

Das obige ist der detaillierte Inhalt vonWie entkomme ich verschachtelten Schleifen in Python ohne Ausnahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn