for-else Schleifen in Python verwenden

Neben den üblichen Varianten von Schleifen verfügt Python auch über eine so genannte for-else Schleife. In diesem Beitrag sehen wir uns an, wie dieser Typ von Schleife praktisch eingesetzt werden kann.

Angenommen wir haben eine Liste von Strings und möchten die einzelnen Einträge auf eine bestimme Länge überprüfen. Dazu definieren wir uns die Funktion  check_len(string_list, string_size). Dieser Funktion wird eine Liste mit Strings übergeben, sowie ein Wert für die Bestimmung der Länge. In einer Schleife prüfen wir nun, ob der aktuelle String kürzer oder gleich lang ist wie der Wert string_size. Ist dies der Fall, wird der jeweilige Wert ausgegeben und die Schleife mit break abgebrochen. Wird die Liste durchlaufen, ohne dass ein einziger Wert mit der gesuchten Eigenschaft gefunden wurde, wird der else Zweig ausgeführt.

Kein String in Liste <= 4

Alle Pflanzennamen in der Liste sind länger als vier Zeichen. Somit wird die break Anweisung nie ausgeführt und stattdessen der else Zweig durchlaufen. Würden wir in diesem Fall eine normale for Schleife verwenden, müssten wir den Leerfall mit einer eigenen Logik auswerten. Statt dessen können wir ihn direkt behandeln.

Im zweiten Anwendungsfall definieren wir die Funktion check_num(num_list, divisor). Diese stellt fest, ob die Zahlen der Liste num_list durch den Wert divisor ohne Rest teilbar sind.

13 ist durch 13 teilbar

In diesem Fall wurde ein echter Teiler der Zahl 13 gefunden und die break Anweisung erreicht. Eine etwaige else Anweisung in einer for Schleife wird nur ausgelöst, wenn die Schleife vollständig und ohne Unterbrechung durchlaufen wird. Da der Ablauf im aktuellen Fall unterbrochen wurde, ist es nicht zur Ausführung des else Zweiges gekommen.

Das komplette Beispiel herunterladen: python_for_else.zip

Über Anton Neururer 31 Artikel
Ich bin Programmierer und Blogger. Themen die mich besonders interessieren sind Python, C++ und Javascript. Des Weiteren befasse ich mich mit Fraktalen.

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen