# Python program to Sort Tuples by their Maximum element

• Last Updated : 11 Oct, 2020

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