Python for Loops
In Python, the for loop is used for iterating over sequence types such as list, tuple, set, range, etc. Unlike other programming language, it cannot be used to execute some code repeatedly.
The body of the for loop is executed for each member element in the sequence. Hence, it doesn't require explicit verification of a boolean expression controlling the loop (as in the while loop).
for x in sequence: statement1 statement2 ... statementN
To start with, a variable x in the for statement refers to the item at the 0 index in the sequence. The block of statements with increased uniform indent after the : symbol will be executed. A variable x now refers to the next item and repeats the body of the loop till the sequence is exhausted.
The following example demonstrates the for loop with the list object.
nums = [10, 20, 30, 40, 50]
for i in nums:
print(i)10 20 30 40 50The following demonstrates the for loop with a tuple object.
nums = (10, 20, 30, 40, 50)
for i in nums:
print(i)10 20 30 40 50The object of any Python sequence data type can be iterated using the for statement.
for char in 'Hello':
print (char)H e l l oThe following for loop iterates over the dictionary using the items() method.
numNames = { 1:'One', 2: 'Two', 3: 'Three'}
for pair in numNames.items():
print(pair)(1, 'One') (2, 'Two') (3, 'Three')The key-value paris can be unpacked into two variables in the for loop to get the key and value separately.
numNames = { 1:'One', 2: 'Two', 3: 'Three'}
for k,v in numNames.items():
print("key = ", k , ", value =", v)key = 1, value = One key = 2, value = Two key = 3, value = ThreeFor Loop with the range() Function
The range class is an immutable sequence type. The range() returns the range object that can be used with the for loop.
for i in range(5):
print(i)0 1 2 3 4Exit the For Loop
The execution of the for loop can be stop and exit using the break keyword on some condition, as shown below.
for i in range(1, 5):
if i > 2 :
break
print(i)1 2Continue Next Iteration
Use the continue keyword to skip the current execution and continue on the next iteration using the continue keyword on some condition, as shown below.
for i in range(1, 5):
if i > 3:
continue
print(i)1 2 3For Loop with Else Block
The else block can follow the for loop, which will be executed when the for loop ends.
for i in range(2):
print(i)
else:
print('End of for loop')0 1 End of for loopNested for Loop
If a loop (for loop or while loop) contains another loop in its body block, we say that the two loops are nested. If the outer loop is designed to perform m iterations and the inner loop is designed to perform n repetitions, the body block of the inner loop will get executed m X n times.
for x in range(1,4):
for y in range(1,3):
print('x = ', x, ', y = ', y)x = 1, y = 1 x = 1, y = 2 x = 2, y = 1 x = 2, y = 2 x = 3, y = 1 x = 3, y = 2