In this article, we will learn how to get the iteration index in for loop in Python. In Python, we usually iterate a for loop with the in operator or range() function. If suppose you are iterating a list of 5 elements and you want to perform some special operation on the 3rd element, how do you do it in Python?
Let’s take a look at how we use Python for loop in the iteration. The ‘list’ consists of 5 fruits, and we iterate the list like below.
>>> fruits = ['apple', 'orange', 'grapes', 'banana', 'kiwi'] >>> for i in fruits: print(i) apple orange grapes banana kiwi
During the iteration, we will not be able to get the fruit at a particular index, because the for loop which we are using is actually a for each loop.
For loop in other Programming Languages
Before getting into the ways to get index in Python’s for loop, let’s take a look into the ‘for’ loop of other programming languages such as C, Java…
In Java,
String fruits[] = {"apple", "orange", "grapes", "banana", "kiwi"}; for(int i=0; i<fruits.length; i++) { if(i==2) // Since index start at 0 { System.out.println("Fruit at 3rd index is : "+fruits[i]); } }
When we run the code, we will get the output like below
Fruit at 3rd index is : grapes
The loops start with the index variable ‘i’ as 0, then for every iteration, the index ‘i’ is incremented by one and the loop runs till the value of ‘i’ and length of fruits array is the same.
How to get the Iteration index in for loop in Python
We can achieve the same in Python with the following approaches.
- Using range() function
- Using enumerate() function
- Manually using a counter variable
1. Get Iteration index using range() function:
We all know that len() function returns the length of the particular iterable, all we need to do is that we need to pass the length to the range() function, that’s all we will be able to access the elements in the list using the index.
fruits = ['apple', 'orange', 'grapes', 'banana', 'kiwi'] for i in range(len(fruits)): if i == 2: print(f"Fruit at 3rd index is : {fruits[i]}")
Upon execution, we will get the below output
Fruit at 3rd index is : grapes
2. Using enumerate() function:
The enumerate() function of Python allows you to loop over the iterable and provides you with an automatic counter which gets incremented automatically for each iteration. Something like a key, value pair of a dictionary.
let’s use the enumerate() method to get the element at the 3rd index.
fruits = ['apple', 'orange', 'grapes', 'banana', 'kiwi'] >>> for index, value in enumerate(fruits): if index == 2: print(f"Fruit at 3rd index is : {value}")
Output:
Fruit at 3rd index is : grapes
3. Manually using a counter variable
This is not a recommended approach, instead of relying on the automatic counter, we will create our index variable, and we need to increment the index variable for each iteration manually.
fruits = ['apple', 'orange', 'grapes', 'banana', 'kiwi'] >>> index = 0 >>> for i in fruits: index += 1 if(index == 2): print(f"Fruit at 3rd index is : {fruits[index]}")
The above loop also gives you the same result.
Happy Learning!!
Leave a Reply