Python Leave Loop Early

Question:

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?

Asked By: Federer

||

Answers:

continue and break is what you want. Python works identically to Java/C++ in this regard.

Answered By: Max Shawabkeh

Take a look at break and continue.

Answered By: Yacoby

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.

Answered By: Dave Webb

continue and break work exactly like in other programming languages, except that you cannot break to a label (as you can in Java, for example). That means you can only break one loop at a time.

Answered By: AndiDog
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.