Python - Nested Loops



In Python, when you write one or more loops within a loop statement that is known as a nested loop. The main loop is considered as outer loop and loop(s) inside the outer loop are known as inner loops.

The Python programming language allows the use of one loop inside another loop. A loop is a code block that executes specific instructions repeatedly. There are two types of loops, namely for and while, using which we can create nested loops.

You 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.

Python Nested for Loop

The for loop with one or more inner for loops is called nested for loop. A for loop is used to loop over the items of any sequence, such as a list, tuple or a string and performs the same action on each item of the sequence.

Python Nested for Loop Syntax

The syntax for a Python nested for loop statement in Python programming language is as follows −

 for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s) 

Python Nested for Loop Example

The following program uses a nested for loop to iterate over months and days lists.

 months = ["jan", "feb", "mar"] days = ["sun", "mon", "tue"] for x in months: for y in days: print(x, y) print("Good bye!") 

When the above code is executed, it produces following result −

 jan sun jan mon jan tue feb sun feb mon feb tue mar sun mar mon mar tue Good bye! 

Python Nested while Loop

The while loop having one or more inner while loops are nested while loop. A while loop is used to repeat a block of code for an unknown number of times until the specified boolean expression becomes TRUE.

Python Nested while Loop Syntax

The syntax for a nested while loop statement in Python programming language is as follows −

 while expression: while expression: statement(s) statement(s) 

Python Nested while Loop Example

The following program uses a nested while loop to find the prime numbers from 2 to 100 −

 i = 2 while(i < 25): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print (i, " is prime") i = i + 1 print ("Good bye!") 

On executing, the above code produces following result −

 2 is prime 3 is prime 5 is prime 7 is prime 11 is prime 13 is prime 17 is prime 19 is prime 23 is prime Good bye! 
Advertisements