Skip to content
Related Articles

Related Articles

Python program to Sort Tuples by their Maximum element

Improve Article
Save Article
  • Last Updated : 11 Oct, 2020
Improve Article
Save Article

Given a Tuple List sort tuples by maximum element in a tuple.

Input : test_list = [(4, 5, 5, 7), (1, 3, 7, 4), (19, 4, 5, 3), (1, 2)] 
Output : [(19, 4, 5, 3), (4, 5, 5, 7), (1, 3, 7, 4), (1, 2)] 
Explanation : 19 > 7 = 7 > 2, is order, hence reverse sorted by maximum element.

Input : test_list = [(4, 5, 5, 7), (19, 4, 5, 3), (1, 2)] 
Output : [(19, 4, 5, 3), (4, 5, 5, 7), (1, 2)] 
Explanation : 19 > 7 > 2, is order, hence reverse sorted by maximum element. 

Method #1 : Using max() + sort()

In this, we perform task of getting maximum element in tuple using max(), and sort() operation is used to perform sort.

Python3




# Python3 code to demonstrate working of 
# Sort Tuples by Maximum element
# Using max() + sort()
  
# helper function
def get_max(sub):
    return max(sub)
  
# initializing list
test_list = [(4, 5, 5, 7), (1, 3, 7, 4), (19, 4, 5, 3), (1, 2)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# sort() is used to get sorted result
# reverse for sorting by max - first element's tuples
test_list.sort(key = get_max, reverse = True)
  
# printing result 
print("Sorted Tuples : " + str(test_list))


Output:

The original list is : [(4, 5, 5, 7), (1, 3, 7, 4), (19, 4, 5, 3), (1, 2)]
Sorted Tuples : [(19, 4, 5, 3), (4, 5, 5, 7), (1, 3, 7, 4), (1, 2)]

Method #2 : Using sort() + lambda + reverse

In this, we use similar functionality, the only difference here being use of lambda fnc. rather than external function for task of getting reverse sorting.

Python3




# Python3 code to demonstrate working of 
# Sort Tuples by Maximum element
# Using sort() + lambda + reverse
  
# initializing list
test_list = [(4, 5, 5, 7), (1, 3, 7, 4), (19, 4, 5, 3), (1, 2)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# lambda function getting maximum elements 
# reverse for sorting by max - first element's tuples
test_list.sort(key = lambda sub : max(sub), reverse = True)
  
# printing result 
print("Sorted Tuples : " + str(test_list))


Output:

The original list is : [(4, 5, 5, 7), (1, 3, 7, 4), (19, 4, 5, 3), (1, 2)]
Sorted Tuples : [(19, 4, 5, 3), (4, 5, 5, 7), (1, 3, 7, 4), (1, 2)]


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!