Python | Get first element with maximum value in list of tuples - GeeksforGeeks

30 Dec, 2018
In Python, we can bind structural information in form of tuples and then can retrieve the same. But sometimes we require the information of tuple corresponding to maximum value of other tuple indexes. This functionality has many applications such as ranking. Let’s discuss certain ways in which this can be achieved.
Method #1 : Using max() + operator.itemgetter()We can get the maximum of corresponding tuple index from a list using the key itemgetter index provided and then mention the index information required using index specification at the end.
# Python3 code to demonstrate # to get tuple info. of maximum value tuple# using max() + itemgetter()from operator import itemgetter  # initializing list test_list = [('Rash', 143), ('Manjeet', 200), ('Varsha', 100)]  # printing original list print ("Original list : " + str(test_list))  # using max() + itemgetter()# to get tuple info. of maximum value tupleres = max(test_list, key = itemgetter(1))[0]  # printing resultprint ("The name with maximum score is : " + res)
Original list : [('Rash', 143), ('Manjeet', 200), ('Varsha', 100)]
The name with maximum score is : Manjeet

 Method #2 : Using max() + lambdaThis method is almost similar to the method discussed above, just the difference is the specification and processing of target tuple index for maximum is done by lambda function. This improved readability of code.
# Python3 code to demonstrate # to get tuple info. of maximum value tuple# using max() + lambda  # initializing list test_list = [('Rash', 143), ('Manjeet', 200), ('Varsha', 100)]  # printing original list print ("Original list : " + str(test_list))  # using max() + lambda# to get tuple info. of maximum value tupleres = max(test_list, key = lambda i : i[1])[0]  # printing resultprint ("The name with maximum score is : " + res)
Original list : [('Rash', 143), ('Manjeet', 200), ('Varsha', 100)]
The name with maximum score is : Manjeet

 Method #3 : Using sorted() + lambdaThe task performed by the max() in the above two methods can be done using reverse sorting and printing the first element. lambda function performs the task similar to above said methods.
# Python3 code to demonstrate # to get tuple info. of maximum value tuple# using sorted() + lambda  # initializing list test_list = [('Rash', 143), ('Manjeet', 200), ('Varsha', 100)]  # printing original list print ("Original list : " + str(test_list))  # using sorted() + lambda# to get tuple info. of maximum value tupleres = sorted(test_list, key = lambda i: i[1], reverse = True)[0][0]  # printing resultprint ("The name with maximum score is : " + res)
Original list : [('Rash', 143), ('Manjeet', 200), ('Varsha', 100)]
The name with maximum score is : Manjeet

Python list-programs
Python tuple-programs
Python
Python Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
How to Install PIP on Windows ?
Different ways to create Pandas Dataframe
Python String | replace()
Reading and Writing to text files in Python
Python program to convert a list to string
Defaultdict in Python
Python | Get dictionary keys as a list
Python | Split string into list of characters
Python | Convert a list to dictionary