How to Find the Index of the Maximum Element in a List in Python

Manav Narula Feb 02, 2024
  1. Use the max() Function and for Loop to Find the Index of the Maximum Element in a List in Python
  2. Use the max() and index() Functions to Find the Index of the Maximum Element in a List in Python
  3. Use the max() and enumerate() Functions to Find the Index of the Maximum Element in a List in Python
  4. Use the max() and operator.itemgetter() Functions to Find the Index of the Maximum Element in a List in Python
  5. Use the max() and __getitem__() Functions to Find the Index of the Maximum Element in a List in Python
  6. Use the numpy.argmax() Function to Find the Index of the Maximum Element in a List in Python
  7. Conclusion
How to Find the Index of the Maximum Element in a List in Python

We can store and access elements efficiently using lists; each can be accessed using its index. The list class has different functions to make it easy to manipulate a list.

This article will demonstrate how to find the index of the maximum element in a list in Python.

Use the max() Function and for Loop to Find the Index of the Maximum Element in a List in Python

We can use the max() function to get the maximum element value in a list. We can also find the index of this element with the for loop.

We will iterate through the list and compare each element. When it matches a given element, we will return the value of the counter variable in the loop and break out with the break keyword.

Example:

lst = [1, 4, 8, 9, -1]
m = max(lst)
for i in range(len(lst)):
    if lst[i] == m:
        print(i)
        break

Output:

3

Use the max() and index() Functions to Find the Index of the Maximum Element in a List in Python

We also have the index() function in Python that returns the index of the given element if it is present in the list. If not, then it throws a ValueError.

To get the index of the maximum element in a list, we will first find the maximum element with the max() function and find its index with the index() function.

Example:

lst = [1, 4, 8, 9, -1]
m = max(lst)
print(lst.index(m))

Output:

3

Use the max() and enumerate() Functions to Find the Index of the Maximum Element in a List in Python

In Python, the enumerate variable attaches a counter variable to every element of the iterable. It returns an enumerate type object, which is iterable.

We can create a new list of the previous elements with their counter variables as tuples in a list using list comprehension. Then, we can employ the max() function to return the maximum element with its index.

Example:

lst = [1, 4, 8, 9, -1]
a, i = max((a, i) for (i, a) in enumerate(lst))
print(i)

Output:

3

Use the max() and operator.itemgetter() Functions to Find the Index of the Maximum Element in a List in Python

The itemgetter() function from the operator module returns a callable object which can be utilized to get an element from its operand (the operand being iterable).

The max() function has a key parameter that can determine the criteria for the comparison on selecting the maximum element. The max() function will directly return the index of the maximum element with the itemgetter() function as the value for this parameter.

Example:

import operator

lst = [1, 4, 8, 9, -1]
i = max(enumerate(lst), key=operator.itemgetter(1))[0]
print(i)

Output:

3

This method finds the maximum element and its index in one line; therefore, it is considered a faster approach than the previous methods.

Use the max() and __getitem__() Functions to Find the Index of the Maximum Element in a List in Python

The magic function __getitem__() is called internally by the operator.itemgetter() method. It can be used in place of the operator.itemgetter() function as utilized in the previous method.

This magic function can be used directly to avoid importing the operator module making the code run faster.

Example:

lst = [1, 4, 8, 9, -1]
i = max(range(len(lst)), key=lst.__getitem__)
print(i)

Output:

3

Use the numpy.argmax() Function to Find the Index of the Maximum Element in a List in Python

To find the index of the maximum element in an array, we use the numpy.argmax() function. This function works with a list and can return the index of the maximum element.

Example:

import numpy as np

lst = [1, 4, 8, 9, -1]
i = np.argmax(lst)
print(i)

Output:

3

Conclusion

In conclusion, several methods can be used to find the index of the maximum element in a list.

All the methods, except the numpy.argmax() function, uses the max() function. The methods involving enumerate() and itemgetter() are faster and more efficient.

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Related Article - Python List