Python | Accessing index and value in list

27 Nov, 2018
There are various methods to access the elements of a list, but sometimes we may require to access element along with the index on which it is found.
Let’s see all the different way of accessing both index and value in a list.
Method #1 : Naive method
This is the most generic method that can be possibly employed to perform this task of accessing the index along with the value of the list elements. This is done using a loop.
# Python3 code to demonstrate # to get index and value# using naive method  # initializing listtest_list = [1, 4, 5, 6, 7]  # Printing list print ("Original list is : " + str(test_list))  # using naive method to# get index and valueprint ("List index-value are : ")for i in range(len(test_list)):    print (i, end = " ")    print (test_list[i])
Original list is : [1, 4, 5, 6, 7]
List index-value are : 
0 1
1 4
2 5
3 6
4 7

 Method #2 : Using list comprehension
This method works in similar way as the above method but uses the list comprehension technique for the same, this reduces the possible lines of code to be written and hence saves time.
# Python3 code to demonstrate # to get index and value# using list comprehension  # initializing listtest_list = [1, 4, 5, 6, 7]  # Printing list print ("Original list is : " + str(test_list))  # using list comprehension to# get index and valueprint ("List index-value are : ")print ([list((i, test_list[i])) for i in range(len(test_list))])
Original list is : [1, 4, 5, 6, 7]
List index-value are : 
[[0, 1], [1, 4], [2, 5], [3, 6], [4, 7]]

 Method #3 : Using enumerate()
This is the most elegant method to perform this particular problem and is highly recommended to be used in case we require to get the index along with the value in the list. This method enumerates for index along with its value.
# Python3 code to demonstrate # to get index and value# using enumerate  # initializing listtest_list = [1, 4, 5, 6, 7]  # Printing list print ("Original list is : " + str(test_list))  # using enumerate to# get index and valueprint ("List index-value are : ")for index, value in enumerate(test_list):    print(index, value)
Original list is : [1, 4, 5, 6, 7]
List index-value are : 
0 1
1 4
2 5
3 6
4 7

 
Method #4 : Using zip()Another method that is basically used to bind the index with the corresponding value, zip() can also be possibly used to get index along with its value.
# Python3 code to demonstrate # to get index and value# using zip()  # initializing listtest_list = [1, 4, 5, 6, 7]  # Printing list print ("Original list is : " + str(test_list))  # using zip() to# get index and valueprint ("List index-value are : ")for index, value in zip(range(len(test_list)), test_list):    print (index, value)
Original list is : [1, 4, 5, 6, 7]
List index-value are : 
0 1
1 4
2 5
3 6
4 7

Python list-programs
python-list
Python
python-list
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Different ways to create Pandas Dataframe
Python String | replace()
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Introduction To PYTHON
Convert integer to string in Python
How to drop one or multiple columns in Pandas Dataframe
Create a Pandas DataFrame from Lists