How do I leave a loop early in python?
for a in b: if criteria in list1: print "oh no" #Force loop i.e. force next iteration without going on someList.append(a)
Also, in java you can break
out of a loop, is there an equivalent in Python?
In Python, the keyword break causes the program to exit a loop early. break causes the program to jump out of for loops even if the for loop hasn't run the specified number of times. break causes the program to jump out of while loops even if the logical condition that defines the loop is still True .
You use the break statement to terminate a loop early such as the while loop or the for loop. If there are nested loops, the break statement will terminate the innermost loop. You can also use the break statement to terminate a switch statement or a labeled statement.
continue
and break
is what you want. Python works identically to Java/C++ in this regard.
Firstly, bear in mind it might be possible to do what you want with a list comprehension. So you might be able to use something like:
somelist = [a for a in b if not a.criteria in otherlist]
If you want to leave a loop early in Python you can use break
, just like in Java.
>>> for x in xrange(1,6): ... print x ... if x == 2: ... break ... 1 2
If you want to start the next iteration of the loop early you use continue
, again just as you would in Java.
>>> for x in xrange(1,6): ... if x == 2: ... continue ... print x ... 1 3 4 5
Here's the documentation for break
and continue
. This also covers else
clauses for loops, which aren't run when you break
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With