Given a list of N integers, find the maximum and minimum element’s position in the Python list.
Example
Input: 3, 4, 1, 3, 4, 5
Output: The maximum is at position 6
The minimum is at position 3
Maximum and Minimum Element Position in a List
Below are the methods and ways by which we can find minimum and maximum element position in a Python List:
- Using Native Approach
- Using Inbuilt Function
- Using Pandas
- Using NumPy
Maximum and Minimum Element Position Using Native Approach
The naive approach will be to traverse in the list and keep track of the minimum and maximum along with their indices. We have to do N comparisons for minimum and at the same time N comparisons for maximum.
Python3
gfg_list = [ 8 , 1 , 7 , 10 , 5 ]
min_ele, max_ele = gfg_list[ 0 ], gfg_list[ 0 ]
for i in range ( 1 , len (gfg_list)):
if gfg_list[i] < min_ele:
min_ele = gfg_list[i]
if gfg_list[i] > max_ele:
max_ele = gfg_list[i]
print ( 'Minimum Element in the list' , gfg_list, 'is' , min_ele)
print ( 'Maximum Element in the list' , gfg_list, 'is' , max_ele)
|
Output
Minimum Element in the list [8, 1, 7, 10, 5] is 1
Maximum Element in the list [8, 1, 7, 10, 5] is 10
Time Complexity: O(n)
Auxiliary Space: O(n), where n is length of given list.
Python Minimum and Maximum Element Using inbuilt Function
Python’s inbuilt function allows us to find it in one line, we can find the minimum in the list using the min() function and then use the index() function to find out the index of that minimum element. Similarly we can do the same for finding out the maximum element using the max() function and then find out the index of the maximum element using the index() inbuilt function in python.
Note: index() returns the index of the first occurrence in case there are multiple occurrences of an element. So if maximum (or minimum) occurs more than once, the first occurrence is returned. Below is the implementation of the above approach:
Python3
def minimum(a, n):
minpos = a.index( min (a))
maxpos = a.index( max (a))
print ( "The maximum is at position" , maxpos + 1 )
print ( "The minimum is at position" , minpos + 1 )
a = [ 3 , 4 , 1 , 3 , 4 , 5 ]
minimum(a, len (a))
|
Output
The maximum is at position 6
The minimum is at position 3
Time complexity: O(n)
Auxiliary Space: O(1)
Python | Maximum and Minimum Element’s Position Using Pandas
In this method, we will use the idxmin() and idxmax() to print the max index and min index using the Pandas module.
Python3
import pandas as pd
a = [ 35 , 41 , 49 , 37 , 31 ,
55 , 23 , 31 , 18 , 50 ,
32 , 37 , 28 , 27 , 24 , 35 ]
print ( "Min: " , pd.Series(a).idxmin())
print ( "Max: " , pd.Series(a).idxmax())
|
Output
Min: 8
Max: 5
Using NumPy argmax, argmin
NumPy has argmax and argmin functions which can be used to find the indices of the maximum and minimum element. Here’s how to use these functions to find the maximum and minimum element’s position in a Python list.
Python3
import numpy as np
def min_max_position(lst):
arr = np.array(lst)
min_pos = np.argmin(arr) + 1
max_pos = np.argmax(arr) + 1
print (f "The minimum is at position {min_pos}" )
print (f "The maximum is at position {max_pos}" )
lst = [ 3 , 4 , 1 , 3 , 4 , 5 ]
min_max_position(lst)
|
Output
The minimum is at position 3
The maximum is at position 6
Time Complexity: O(n)
Auxiliary Space: O(n), since we are creating a NumPy array of size n to store the list elements.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
15 Nov, 2023
Like Article
Save Article