## Using sorted()

sorted() is a built-in function in Python.

• The original order of values is unchanged once it’s called.

• It returns an ordered list.

numbers = [1, 5, 3, 2, 4]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
print(numbers)

# [1, 5, 3, 2, 4]

## Using sort()

The sort() is a method of list class. It orders in place and return nothing.

``````sorted_numbers = numbers.sort()
print(sorted_numbers)
print(numbers)

# Output:
# None
# [1, 2, 3, 4, 5]
``````

## Sort in reverse order

``````numbers = [1, 5, 3, 2, 4]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)
print(numbers)

# Output:
# [5, 4, 3, 2, 1]
# [1, 5, 3, 2, 4]

numbers.sort(reverse=True)
print(numbers)

# Output:
# [5, 4, 3, 2, 1]
``````

## Sort dictionary

Note that the keys in a dictionary must be unique. In the following example, even if two 5s are initialized in the number list, they will be deduplicated.

``````numbers_set = {20, 5, 3, 2, 4, 5}
sorted_numbers_set = sorted(numbers_set)
print(numbers_set)
print(sorted_numbers_set)
print(set(sorted_numbers_set))

# Output:
# {2, 3, 4, 5, 20}
# [2, 3, 4, 5, 20]
# {2, 3, 4, 5, 20}
``````

## Sort tuple

Example 1:

``````numbers_tuple = (10, 5, 3, 2, 4, 5)
sorted_numbers_tuple = sorted(numbers_tuple)
print(numbers_tuple)
print(sorted_numbers_tuple)
print(tuple(sorted_numbers_tuple))

# Output:
# (10, 5, 3, 2, 4, 5)
# [2, 3, 4, 5, 5, 10]
# (2, 3, 4, 5, 5, 10)
``````

Example 2:

``````fruits = [("apple", 10), ("orange", 6), ("banana", 9), ("pear", 3)]
sorted_fruits = sorted(fruits, key=lambda x: x[1], reverse=True)
print(sorted_fruits)

# Output:
# [('apple', 10), ('banana', 9), ('orange', 6), ('pear', 3)]
``````

Example 3:

``````from collections import namedtuple

Student = namedtuple("Student", "name, age, grade")
students = [
Student("bill", 11, 97),
Student("Andy", 12, 95),
Student("Harry", 10, 100),
Student("Thor", 11, 96),
]
sorted_students = sorted(students, key=lambda x: getattr(x, "grade"), reverse=True)
print(sorted_students)
print(students)

# Output: