How to Access index in for loops

How to access the index in python for Loops? Here in this article, you will find different methods to access the index in For loops. for loop allows us to iterate over a sequence of elements and perform a specific action on each iteration. It can be useful to access the index of the current element within the for loop.

Quick Examples of Access Index in for Loop

You will have a thorough understanding of how to access the index of elements in for loops in Python.


# use a for loop and enumerate() to access the index in list
for index, value in enumerate(mylist):
  print(f"Index {index}: {value}")

# use a for loop and range() to access the index in list
for i in range(len(mylist)):
  print(f"Index {i}: {mylist[i]}")

# Use a for loop and enumerate() to access index in set
for index, value in enumerate(my_set):
  print(f"Index {index}: {value}")

# Use a for loop and enumerate() to access index in dict
for index, (key, value) in enumerate(language_dict.items()):
  print(f"Index {index}: {key}: {value}")

1. enumerate() – Access Index in for Loop

The enumerate function is a built-in function in Python that allows us to loop over a sequence and access both the index and the value of each element.

1.1 Access Indices of List

Using the enumerate function, we can easily access the indices of the elements in a list while iterating over it in a for loop. Lists in Python are ordered collections of items.


# Using for with enumerate
mylist = ['Python', 'c++', 'java', 'php']

for i, value in enumerate(mylist):
    print(f'{i}: {value}')

# output
# 0: Python
# 1: c++
# 2: java
# 3: php

1.2 Access Indices of Set

To access the indices of a set using enumerate, we first need to convert the set to a list or tuple. Since sets are not indexed. Then, we can use the sorted function to sort the set, and pass the sorted set to enumerate to loop over it:

Unlike python lists, Sets are unordered collections of unique elements and do not have a concept of indices. We can use the enumerate function in combination with the sorted function to access the indices of the elements in a set.


for i, value in enumerate(sorted(myset)):
    print(f'{i}: {value}')

# Output:
# 0: c++
# 1: java
# 2: php
# 3: python

1.3 Access Indices of Dictionary

To access the indices of a dictionary using enumerate, we can use the items method to loop over the key-value pairs. While dictionaries are not ordered like lists, we can use the enumerate function in combination with the items method to access the indices of the elements in a dictionary.

The items method returns a view object that displays a list of the dictionary’s key-value pairs, and we can pass this view object to enumerate to loop over it.


mydict = {'language1': 'Python', 'language2': 'c++', 'language3': 'java', 'language4': 'php'}

for i, (key, value) in enumerate(mydict.items()):
    print(f'{i}: {key}: {value}')

2. range() – Access Index in for Loop

We can use the range function in combination with the len function to access the indices of elements in a for loop. The range function is a built-in function in Python that allows us to generate a sequence of numbers. The len function returns the length of an iterable object. And we can use it to determine the number of iterations required for the for loop.


# To access the Indices of list
for i in range(len(mylist)):
    print(f'{i}: {mylist[i]}')

# To access the indices of set
for i in range(len(list(myset))):
    print(f'{i}: {list(myset)[i]}')

# To access the indices of dict
for i in range(len(mydict.keys())):
    key = list(mydict.keys())[i]
    value = mydict[key]
    print(f'{i}: {key}: {value}')

3. zip() and range() – Access Index in for Loop

We can use the zip function in combination with the range function to access the indices of elements in a for loop. The zip function is a built-in function in Python that allows us to loop over two or more iterable objects at the same time.


# Access the indeices of list
for i, value in zip(range(len(mylist)), mylist):
    print(f'{i}: {value}')

# Access the indeices of set
for i, value in zip(range(len(list(myset))), list(myset)):
    print(f'{i}: {value}')
    
# Output
# 0: Python
# 1: c++
# 2: java
# 3: php

4. While Loop Inside fpr Loop to Access the Indices

This method is manual work and not that beneficial but yet it is a possibility that you have. In this method, we can use a counter variable to keep track of the current index. We can use the while loop to check a condition based on the counter variable. The outer for loop can be used to iterate over the sequence and access the elements using the counter variable as the index.


# Example 1: for list
for element in my_list:
    # do something with element
    i += 1
    while i < len(my_list):
        element = my_list[i]
        print(f"The index: {i}")
        i += 1

5. Access Indices Based on filter() Function

The filter() function can be useful when you want to access the indices of the elements in a list, tuple, or set that meet a certain condition. It is a built-in function in Python that takes a predicate function and an iterable as inputs and returns an iterator that produces only the elements of the iterable for which the predicate function returns True.

To access the indices of the elements, you can use the enumerate() function to iterate over the elements of the iterator returned by the filter() function.


def is_even(n):
    return n % 2 == 0

for i, element in enumerate(filter(is_even, my_list)):
    print(f"even element index: {element} is {i}")

6. list.index() – Get Index of Element in For loop

We can use the index method in a for loop to access the indices of elements in a list. The index method can be called on the list object, and we can pass the element we want to find the index of as an argument.

The index method is a built-in method in Python that allows us to search for the index of an element in a list.


for value in mylist:
    print(f'{mylist.index(value)}: {value}')

7. iter() function – Access index in List, Set and Dictionary

You can use the iter() function to create an iterator for a list, set, or dictionary, and then use a for loop to access the elements of the iterator one by one.

The iter() function is a built-in function in Python that returns an iterator for an object. An iterator is an object that produces the elements of the object one by one when iterated over.

Example of using the iter() function to access the indices of the elements in a list, set and python dictionary.


# access index of list
for i in range(len(my_list)):
    element = next(my_iterator)
    print(f"Index : {i}")

# Access indices of set
for i in range(len(my_set)):
    element = next(my_iterator)
    print(f"index : is {i}")

# Access indices of Dict
for i in range(len(my_dict)):
    key, value = next(my_iterator)
    print(f"The index : {key}")

Summary and Conclusion

These were the most popular methods of Accessing indices in a FOR loop. I hope by now you have a complete idea of how we can use these methods. If you have any questions let me know in the comment section.

Related Articles

AlixaProDev

I am a software Engineer with extensive 4+ years of experience in Programming related content Creation.

Leave a Reply