When programmers write a certain piece of code, loops allow them to condense hundreds of lines of code into a few simple lines. Loop statements allows them to write the code once and then execute a set of statements multiple times and reuse it as needed, increasing the likelihood that the program will function as planned. Python for loop is one such looping statement provided by the Python programming language.
Definition
- Python for loop is a type of loop which is used to iterate a set of statements multiple times.
- The Python for loop is used for sequential traversal of data structures or other iterable objects until the condition is satisfied.
Python for Loop
The for loop is very commonly used in Python programming because it saves coding time as well as makes the code efficient and easy to read. We use Python for loops for iterating a set of statements, data structures, or iterable objects.
Syntax
for iterating_var in seq :
statements(s) # body of for loop
where,
iterating_var = variable that takes each individual value of seq in each iteration
seq = data structures like lists, strings, tuples, dictionary, set, range
statements = executable code
Flowchart
Let us understand the syntax and the flowchart clearly. Every item of the sequence is assigned to the iterating variable and then the set of statements is performed on it. This keeps on continuing in sequence until the condition inside the loop is met o the entire sequence has been exhausted.
Example
cars = ['BMW', 'Audi', 'Tata', 'Ford']
for n in cars:
print('Car Company:', n)
num = [1, 3, 5, 7, 9]
sum = 0
for i in num:
sum = sum + i
print('The sum is:', sum)
Output
Car Company: BMW
Car Company: Audi
Car Company: Tata
Car Company: Ford
The sum is: 25
Iterating by Sequence Indexing
Another method of iterating through each item is to use an index offset in the sequence. It is also possible to iterate using the sequence’s index. The fundamental concept is to first calculate the list’s length by using the len() function, and then loop over the sequence within that range using the range() function.
Example
cars = ['BMW', 'Audi', 'Tata', 'Ford']
for index in range(len(cars)):
print('Car Company:', cars[index])
Output
Car Company: BMW
Car Company: Audi
Car Company: Tata
Car Company: Ford
The range() function
Python range() function is used to generate a series of sequential numbers as well as to iterate through a loop for a fixed number of times. The loop will be executed until the specified number in the range() function does not end.
Syntax
range(start, stop, step_size)
where,
start = indicates the start of the iteration.
stop = indicates that the loop will continue until it reaches stop-1. It is optional.
step size = used to skip the iteration’s specific numbers. It’s entirely up to you whether or not you want to use it. The step size is set at 1 by default.
Note – If a single argument is passed to the range() function, then it will start those range of numbers starting from 0. If the range(5) is specified, then the range of values is from 0 to 4.
Example 1
# To print a range of numbers
for i in range(6):
print('Number:', i)
Output
Number: 0
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
Example 2
# print values of list using range() in for loop
students = ['Rock', 'John', 'Tia', 'Jenny', 'David']
for name in range(len(students)):
print("Welcome", students[name])
Output
Welcome Rock
Welcome John
Welcome Tia
Welcome Jenny
Welcome David
Python for loop with else
The else keyword specifies a block of code that can be used along with the for loop which indicates when the for loop finishes executing the items in the sequence, this block of code will be executed next. After all the iterations of for loop have been completed, the else statement will be executed.
Example 1
for n in range(0, 5):
print('Numbers are:', n)
else:
print('No items left')
Output
Numbers are: 0
Numbers are: 1
Numbers are: 2
Numbers are: 3
Numbers are: 4
No items left
Example 2
dislike_choice = 'Worst'
genre = {'Good': 'rock', 'Good': 'jazz', 'Bad': 'reggae', 'Better': 'house', 'Best': 'pop', 'Best': 'hiphop'}
for s in genre:
if s == dislike_choice:
print('I do not like:', genre[s])
break
else:
print('Worst genre not found')
Output
Worst genre not found
Nested for loop
Python allows us to nest for loop inside another for loop. For each iteration of the outer loop, the inner loop will be executed n number of times. Unless the outer loop iteration does not end, the inner loop iterations will keep executing.
Example
rows = int(input('Enter no. of rows: '))
for i in range(rows+1):
for j in range(i):
print('*', end = '')
print()
Output
Enter no. of rows: 7
*
**
***
****
*****
******
*******
Frequently Asked Questions
Q1. What is a for loop in Python?
Statements are usually executed in the order in any programming language: the first statement in a function is executed first, then the second, and so on. You may find yourself in a position where you need to run a block of code multiple times. Different control structures are available in programming languages, allowing for more sophisticated execution routes.
Python provides us with a loop statement called a for loop. A Python for loop is a type of loop which is used to iterate a set of sequential statements multiple times. In for loop every item of the iterable (list, tuple, string, dict, set) is assigned to an iterable variable. Then a set of statements are performed for each item assigned to the iterable variable until the sequence has been exhausted.
Q2. How do you write a for loop in Python?
The syntax for writing for loop in Python is –
for iterating_var in seq :
statements(s) # body of for loop
where,
iterating_var = variable that takes each individual value of seq in each iteration
seq = data structures like lists, strings, tuples, dictionary, set, range
statements = executable code
Example
items = ['bread', 'butter', 'cheese', 'sauce', 'eggs', 'tea powder']
print('Shopping List Items:')
for n in items:
print(n)
Output
Shopping List Items:
bread
butter
cheese
sauce
eggs
tea powder
Q3. What are the 3 types of loops in Python?
Python programming language provides us with 3 types of loops. They are –
- for loop – A Python for loop is a type of loop which is used to iterate a set of sequential statements multiple times.
- while loop – Python while loop allows the program to execute a statement or a set of statements for TRUE condition. The statement will continue to be executed until the condition becomes FALSE.
- Nested loop – Nested loop allows the functionality to the programmer to nest one or more for or while loops inside of each other. The inner loop will be executed until the outer loop doesn’t get exhausted.
Q4. Is there a repeat function in Python?
Yes, there is a repeat() function in Python. In the repeat() function, we specify the data and the number which will repeat that many times. But for this function to be used, we need to import the itertool module. Itertool is a Python package that has a number of functions that work with iterators to create complicated iterators. Infinite iterators are represented by itertools.repeat().
Syntax
repeat(value, number)
Example
# Python code to demonstrate the working of repeat()
import itertools
# using repeat() to repeatedly print a word
print("Printing the word repeatedly : ")
print(list(itertools.repeat('Hello', 5)))
Output
Printing the word repeatedly :
['Hello', 'Hello', 'Hello', 'Hello', 'Hello']
Leave a Reply