Referenzseite: [Einführung in Python] Wie mit Fortsetzungsanweisungen wiederholen?
Python-Schleifenanweisungen sind nützlich, um immer wieder dasselbe zu tun. Obwohl es sich um eine solche Schleifenanweisung handelt, denke ich, dass es Zeiten gibt, in denen Sie sie nur unter bestimmten Bedingungen ausführen und zu anderen Zeiten überspringen möchten. In einem solchen Fall ist es zweckmäßig, die continue-Anweisung zu verwenden. Dieses Mal werde ich erklären, wie die continue-Anweisung verwendet wird.
Die continue-Anweisung wird zum Wiederholen von Prozessen wie der for-Anweisung verwendet. Wenn Sie die continue-Anweisung verwenden, wird die nachfolgende Verarbeitung übersprungen, ohne ausgeführt zu werden, und Sie fahren mit der nächsten Schleife fort.
list1 = [1, 5, 6, 2, 4, 9, 11, 3]
for number in list1:
if(number < 5):
continue
print(number)
Ausführungsergebnis
5 6 9 11
In diesem Beispiel werden Elemente aus der Liste der Ganzzahlen übernommen und nur die Elemente angezeigt, die größer als 5 sind. Wenn zu diesem Zeitpunkt die Zahl kleiner als 5 ist, wird die continue-Anweisung ausgeführt. Wenn die continue-Anweisung ausgeführt wird, wird der Inhalt danach übersprungen und die nächste Schleife gestartet. Wenn das letzte Element kleiner als 5 ist, wird der letzte print () übersprungen und nicht angezeigt.
Eine einfache Verarbeitung kann mit if-else-Anweisungen und Ausnahmen erreicht werden. Je länger der Code ist, desto schwieriger ist er zu sehen und desto komplizierter wird er. Wenn Sie die Verarbeitung in einer Schleifenanweisung überspringen möchten, können Sie die continue-Anweisung verwenden.
Früher haben wir die continue-Anweisung in der for-Anweisung verwendet, aber Sie können die continue-Anweisung auch in derselben Schleife while-Anweisung verwenden.
list1 = [1, 5, 6, 2, 4, 9, 11, 3]
index = 0
while index < len(list1):
if(list1[index] < 5):
index += 1
continue
print(list1[index])
index += 1
Ausführungsergebnis
5 6 9 11
Dies ist die for-Anweisung, die durch die while-Anweisung ersetzt wird. Es ist etwas kompliziert, aber es ist genau das gleiche wie die for-Anweisung, da bei einer Anzahl von weniger als 5 die continue-Anweisung ausgeführt wird und der gesamte Rest der Verarbeitung übersprungen wird.
In Python wird die break-Anweisung als Syntax zum Verlassen der Schleifenanweisung aus der Mitte bereitgestellt.
for x in range(100):
if(x == 50):
print('Beendet die Schleifenanweisung (Anzahl der Schleifen:{}Mal)'.format(x))
break
Ausführungsergebnis
Beendet die Schleifenanweisung (Schleifenanzahl: 50 Mal)
Diese for-Anweisung wiederholt die Schleife 100 Mal, aber wenn die Anzahl der Schleifen in der if-Anweisung 50 erreicht, unterbricht die break-Anweisung die Schleife. Sie können die Schleife einfach mit der break-Anweisung unterbrechen. Im Fall einer break-Anweisung können Sie jedoch nicht mehrere Schleifen beenden, selbst wenn Sie eine Schleife beenden können.
list1 = [ [1,5,7], [10,3, 4], [6, 8, 5]]
for list1_item in list1:
for item in list1_item:
print(item)
if(item >= 10):
print('Mehr als 10 Nummern gefunden')
break
Ausführungsergebnis
1 5 7 10 Mehr als 10 Nummern gefunden 6 8 5
In diesem Beispiel wird auf den Inhalt der zweidimensionalen Liste in mehreren Schleifen verwiesen. Wenn 10 oder mehr Elemente vorhanden sind, endet die Anzeige dort. Die break-Anweisung kann jedoch nur eine Schleife unterbrechen. Daher wird in diesem Beispiel nur die innere Schleife verlassen, sodass die gesamte Schleife nicht endet.
Tatsächlich bietet Python keine Möglichkeit, aus mehreren Schleifen herauszukommen. Wenn Sie aus mehreren Schleifen gleichzeitig herauskommen möchten, müssen Sie selbst über die Implementierung nachdenken. Es gibt verschiedene Möglichkeiten, dies zu tun. Tatsächlich können Sie jedoch aus mehreren Schleifen gleichzeitig herauskommen, indem Sie die continue-Anweisung und die else-Klausel kombinieren, die in der if-Anweisung bekannt sind.
list1 = [ [1,5,7], [10,3, 4], [6, 8, 5]]
for list1_item in list1:
for item in list1_item:
print(item)
if(item >= 10):
print('Mehr als 10 Nummern gefunden')
break
else: #Beachten Sie, dass dies kein if, sondern ein else der inneren for-Anweisung ist
continue
break
Ausführungsergebnis
1 5 7 10 Mehr als 10 Nummern gefunden
Mit dieser Methode konnte ich sauber aus der Schleife herauskommen. Zuerst wird die innere for-Anweisung gedreht, aber am Ende steht eine else-Klausel. Die else-Klausel der for-Anweisung wird zuletzt nach dem Ende der Schleife ausgeführt. Am Ende der inneren Schleife wechseln wir zur else-Klausel und führen die continue-Anweisung aus. Die continue-Anweisung wird ausgeführt und die letzte Unterbrechung wird übersprungen, damit die Schleife fortgesetzt wird. Wenn die if-Anweisung in der inneren Schleife ausgeführt wird (in diesem Beispiel wird eine Zahl von 10 oder mehr gefunden), verlässt die break die Anweisung der inneren Schleife, sodass die else-Klausel nicht ausgeführt wird. Daher wird die letzte Pause ausgeführt und die gesamte Schleife kann verlassen werden.