tags:

views:

136

answers:

4
+1  Q: 

Python Loop Early

How do I 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?

+8  A: 

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

Max Shawabkeh
Random curiosity; are you "Max_aka_NOBODY" from the Bethesda Forums? You share the same avatar which was why I was wondering.
Yacoby
Indeed I am. :D
Max Shawabkeh
+2  A: 

Take a look at break and continue.

Yacoby
+2  A: 

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.

Dave Webb
+2  A: 

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.

AndiDog