Heim > Artikel > Backend-Entwicklung > Wie entkomme ich verschachtelten Schleifen in Python ohne Ausnahmen?
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!