# Python Language Sorting, Minimum and Maximum Using the key argument

## Example

Finding the minimum/maximum of a sequence of sequences is possible:

``````list_of_tuples = [(0, 10), (1, 15), (2, 8)]
min(list_of_tuples)
# Output: (0, 10)
``````

but if you want to sort by a specific element in each sequence use the `key`-argument:

``````min(list_of_tuples, key=lambda x: x)         # Sorting by first element
# Output: (0, 10)

min(list_of_tuples, key=lambda x: x)         # Sorting by second element
# Output: (2, 8)

sorted(list_of_tuples, key=lambda x: x)      # Sorting by first element (increasing)
# Output: [(0, 10), (1, 15), (2, 8)]

sorted(list_of_tuples, key=lambda x: x)      # Sorting by first element
# Output: [(2, 8), (0, 10), (1, 15)]

import operator
# The operator module contains efficient alternatives to the lambda function
max(list_of_tuples, key=operator.itemgetter(0)) # Sorting by first element
# Output: (2, 8)

max(list_of_tuples, key=operator.itemgetter(1)) # Sorting by second element
# Output: (1, 15)

sorted(list_of_tuples, key=operator.itemgetter(0), reverse=True) # Reversed (decreasing)
# Output: [(2, 8), (1, 15), (0, 10)]

sorted(list_of_tuples, key=operator.itemgetter(1), reverse=True) # Reversed(decreasing)
# Output: [(1, 15), (0, 10), (2, 8)]
`````` PDF - Download Python Language for free