DEV Community

Avnish
Avnish

Posted on • Originally published at pythonkb.com

Python Program to Access Index of a List Using for Loop

In Python, you can access the index of elements in a list while iterating using a for loop. There are several approaches to achieve this, including using the built-in enumerate() function, which is the most Pythonic way.


Method 1: Using enumerate()

The enumerate() function allows you to loop over the list while keeping track of both the index and the value of each element.

Example:

# List
my_list = ["apple", "banana", "cherry"]

# Access index and value using enumerate
for index, value in enumerate(my_list):
    print(f"Index: {index}, Value: {value}")
Enter fullscreen mode Exit fullscreen mode

Output:

Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: cherry
Enter fullscreen mode Exit fullscreen mode

Method 2: Using range(len())

You can use the range() function with len() to iterate over the indices of the list.

Example:

# List
my_list = ["apple", "banana", "cherry"]

# Access index and value using range(len())
for index in range(len(my_list)):
    print(f"Index: {index}, Value: {my_list[index]}")
Enter fullscreen mode Exit fullscreen mode

Output:

Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: cherry
Enter fullscreen mode Exit fullscreen mode

Method 3: Using List Comprehension

You can create a list of tuples containing the index and value.

Example:

# List
my_list = ["apple", "banana", "cherry"]

# List comprehension for index and value
index_value_pairs = [(index, value) for index, value in enumerate(my_list)]
print(index_value_pairs)
Enter fullscreen mode Exit fullscreen mode

Output:

[(0, 'apple'), (1, 'banana'), (2, 'cherry')]
Enter fullscreen mode Exit fullscreen mode

Method 4: Using a Counter Variable

Manually maintain a counter variable to track the index while iterating.

Example:

# List
my_list = ["apple", "banana", "cherry"]

# Initialize counter
index = 0
for value in my_list:
    print(f"Index: {index}, Value: {value}")
    index += 1
Enter fullscreen mode Exit fullscreen mode

Output:

Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: cherry
Enter fullscreen mode Exit fullscreen mode

Which Method Should You Use?

  • enumerate(): The most Pythonic and clean way to access both indices and values.
  • range(len()): Useful if you need only indices or are working with specific index-based operations.
  • List Comprehension: Best for creating new lists or mappings.
  • Counter Variable: Least preferred, but useful if you can't use enumerate() for some reason.

Top comments (0)