Python for Loop


  • When to use for loops?
  • How do for loop works in Python?
  • Nested for loops
  • Early Exits (Break)

When to use for loop in python

It’s used when you have a block of statement/code that you want to repeat a certain number of times. Python for statements iterates over members of a sequence in order, executing a block each time.

For loop syntax:

for iterating_variable in sequence:

How do for loop works in python

Basically in for loops we determine conditions (statement expression to identify condition is completed or not) then increase the expression as the per increment statement and proceed further. Actually any object in python with iterable method (It means data can be represented in list form) can be used for loop.

Nested for loop in python

We we have any block of code executed N number of times, then we have another block of code withing above block which execute M number of times then it is called as nested for loop in python.

for x in range(1, 11):
    for y in range(1, 11):
        print('%d * %d = %d' % (x, y, x*y))

Early Exit (break)

It is like when we want to break, or we have to come out of loop after meeting certain condition then we forcefully exit the loop.

for x in range(3):
    if x == 1:

Let’s see some interesting for loop example of python:


for x in range(5):
    print('Final x = %d' % (x))

Strings as an iterable

string = "Online Tutorials"
for x in string:

Lists as an iterable

collection = ['Online', 7, 'Tutorials']
for x in collection:

Loop over Lists of lists

list_of_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for eachList in list_of_array :
    for x in eachList :

Creating your own custom iterable

class Iterable(object):

    def __init__(self, values):
        self.values = values
        self.location = 0

    def __iter__(self):
        return self

    def next(self):
        if self.location == len(self.values):
            raise StopIteration
        value = self.values[self.location]
        self.location += 1
        return value

Custom range generator using yield

for x in my_custom_range(1, 20, 1):
myCustomlist = ['a', 'b', 'c', 'd']
for i in range(len(myCustomlist )):
    # perform operation with myCustomlist[i]

Posted on:



%d bloggers like this: