Loops and Control Statements (continue, break and pass) in Python
Python programming language provides the following types of loops to handle looping requirements.
Python While Loop
Until a specified criterion is true, a block of statements will be continuously executed in a Python while loop. And the line in the program that follows the loop is run when the condition changes to false.
Syntax of Python While
while expression: statement(s)
In Python, all the statements indented by the same number of character spaces after a programming construct are considered to be part of a single block of code. Python uses indentation as its method of grouping statements.
Python3
# prints Hello Geek 3 Times count = 0 while (count < 3 ): count = count + 1 print ( "Hello Geek" ) |
Output:
Hello Geek Hello Geek Hello Geek
See this for an example where a while loop is used for iterators. As mentioned in the article, it is not recommended to use a while loop for iterators in python.
Python for Loop
In Python, there is no C style for loop, i.e., for (i=0; i<n; i++). There is a “for in” loop which is similar to for each loop in other languages.
Syntax of Python for Loop
for iterator_var in sequence: statements(s)
It can be used to iterate over iterators and a range.
Python3
# Iterating over a list print ( "List Iteration" ) l = [ "Beginner" , "for" , "Beginner" ] for i in l: print (i) # Iterating over a tuple (immutable) print ( "\nTuple Iteration" ) t = ( "Beginner" , "for" , "Beginner" ) for i in t: print (i) # Iterating over a String print ( "\nString Iteration" ) s = "Beginner" for i in s : print (i) # Iterating over dictionary print ( "\nDictionary Iteration" ) d = dict () d[ 'xyz' ] = 123 d[ 'abc' ] = 345 for i in d : print ( "%s %d" % (i, d[i])) |
Output:
List Iteration Beginner for Beginner Tuple Iteration Beginner for Beginner String Iteration G e e k s Dictionary Iteration xyz 123 abc 345
Time complexity: O(n), where n is the number of elements in the iterable (list, tuple, string, or dictionary).
Auxiliary space: O(1), as the space used by the program does not depend on the size of the iterable.
We can use a for-in loop for user-defined iterators. See this for example.
Python Nested Loops
Python programming language allows using one loop inside another loop. The following section shows a few examples to illustrate the concept.
Syntax of Python Nested for Loop
The syntax for a nested for loop statement in Python programming language is as follows:
for iterator_var in sequence: for iterator_var in sequence: statements(s) statements(s)
Syntax of Python Nested while Loop
The syntax for a nested while loop statement in Python programming language is as follows:
while expression: while expression: statement(s) statement(s)
A final note on loop nesting is that we can put any type of loop inside of any other type of loop. For example, a for loop can be inside a while loop or vice versa.
Python3
from __future__ import print_function for i in range ( 1 , 5 ): for j in range (i): print (i, end = ' ' ) print () |
Output:
1 2 2 3 3 3 4 4 4 4
Python Loop Control Statements
Loop control statements change execution from their normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed. Python supports the following control statements.
Python Continue
It returns the control to the beginning of the loop.
Python3
# Prints all letters except 'e' and 's' for letter in 'w3wiki' : if letter = = 'e' or letter = = 's' : continue print ( 'Current Letter :' , letter) |
Output:
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k
Python Break
It brings control out of the loop.
Python3
for letter in 'w3wiki' : # break the loop as soon it sees 'e' # or 's' if letter = = 'e' or letter = = 's' : break print ( 'Current Letter :' , letter) |
Output:
Current Letter : e
Python Pass
We use pass statements to write empty loops. Pass is also used for empty control statements, functions, and classes.
Python3
# An empty loop for letter in 'w3wiki' : pass print ( 'Last Letter :' , letter) |
Output:
Last Letter : s
Exercise: How to print a list in reverse order (from last to the first item) using while and for-in loops.