Python Program to Accessing index and value in list
Last Updated :
08 Mar, 2024
There are various methods to access the elements of a list, but sometimes we may require to access an element along with the index on which it is found. Let’s see all the different ways of accessing both index and value in a list.
Accessing index and value in list Using 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
test_list = [ 1 , 4 , 5 , 6 , 7 ]
print ( "Original list is : " + str (test_list))
print ( "List index-value are : " )
for i in range ( len (test_list)):
print (i, end = " " )
print (test_list[i])
|
Output
Original list is : [1, 4, 5, 6, 7]
List index-value are :
0 1
1 4
2 5
3 6
4 7
Time Complexity: O(n)
Auxiliary Space: O(1)
Accessing index and value in list 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
test_list = [ 1 , 4 , 5 , 6 , 7 ]
print ( "Original list is : " + str (test_list))
print ( "List index-value are : " )
print ([ list ((i, test_list[i])) for i in range ( len (test_list))])
|
Output
Original list is : [1, 4, 5, 6, 7]
List index-value are :
[[0, 1], [1, 4], [2, 5], [3, 6], [4, 7]]
Time Complexity: O(n)
Auxiliary Space: O(1)
Accessing index and value in list 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
test_list = [ 1 , 4 , 5 , 6 , 7 ]
print ( "Original list is : " + str (test_list))
print ( "List index-value are : " )
for index, value in enumerate (test_list):
print (index, value)
|
Output
Original list is : [1, 4, 5, 6, 7]
List index-value are :
0 1
1 4
2 5
3 6
4 7
Time Complexity: O(n)
Auxiliary Space: O(1)
Accessing index and value in list 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
test_list = [ 1 , 4 , 5 , 6 , 7 ]
print ( "Original list is : " + str (test_list))
print ( "List index-value are : " )
for index, value in zip ( range ( len (test_list)), test_list):
print (index, value)
|
Output
Original list is : [1, 4, 5, 6, 7]
List index-value are :
0 1
1 4
2 5
3 6
4 7
Time Complexity: O(n)
Auxiliary Space: O(1)
Accessing index and value in list Using numpy.ndenumerate()
Approach:
- Import the numpy module.
- Initialize the list.
- Convert the list into a numpy array.
- Iterate over the numpy array using the numpy.ndenumerate() function.
- Print the index and value of each element.
Python3
import numpy as np
test_list = [ 1 , 4 , 5 , 6 , 7 ]
print ( "Original list is : " + str (test_list))
print ( "List index-value are : " )
for index, value in np.ndenumerate(test_list):
print (index[ 0 ], value)
|
Output:
Original list is : [1, 4, 5, 6, 7]
List index-value are :
0 1
1 4
2 5
3 6
4 7
Time Complexity: O(n), where n is the length of the list.
Space Complexity: O(n), as we are creating a numpy array of size n.
Accessing index and value in list Using heapq
Approach:
- Import the heapq module.
- Initialize the list test_list with some values.
- Print out the original list test_list.
- Create an empty list heap to store the index and value pairs in a heap.
- Iterate over the list test_list using enumerate.
- For each index and value pair, use heapq.heappush() to add the pair to the heap list.
- heappush() maintains the heap property so that the smallest element in the heap is always at the root.
- Enter a while loop that runs until there are no more elements in the heap.
- Inside the loop, use heapq.heappop() to retrieve the smallest element from the heap.
- heappop() removes the element from the heap and returns it as a tuple containing the index and value of an element in the original list.
- Print out the index and value of the element.
Python3
import heapq
test_list = [ 1 , 4 , 5 , 6 , 7 ]
print ( "Original list is : " + str (test_list))
print ( "List index-value are : " )
heap = []
for index, value in enumerate (test_list):
heapq.heappush(heap, (index, value))
while heap:
index, value = heapq.heappop(heap)
print (index, value)
|
Output
Original list is : [1, 4, 5, 6, 7]
List index-value are :
0 1
1 4
2 5
3 6
4 7
Please Login to comment...