# Sort a Set in Python

Sets are an unordered and unindexed collection having no duplicate elements. Sets are one of the four built-in data types available in Python and are written using curly brackets.

Given that sets are unordered, it is not possible to sort the values of a set. However, if we print a set, it is displayed in a sorted manner.

See the code below.

``````s = {5,2,7,1,8}
print(s)
``````

Output:

``````{1, 2, 5, 7, 8}
``````

If we want, we can use different functions will sort a set and return a list. These are discussed below.

## Use the `sorted()` Function to Sort a Set in Python

The `sorted()` function is a built-in function in Python that returns a sorted sequence (list,tuple,string) or sorted collection(sets,dictionary) in the form of a list. The `sorted()` function has no effect on the original iterable sequence as it provides a new sorted output.

For example,

``````s = {5,2,7,1,8}
print(sorted(s))
``````

Output:

``````[1, 2, 5, 7, 8]
``````

Note that the `sorted()` function returns a list instead of a set. We can again convert this list to a set using the `set()` function. However, this is redundant since sets are unordered.

## Use the `sort()` Method to Sort a Set in Python

The `sort()` Method is used to sort the elements given in a list in ascending or descending order. It is a destructive process, i.e., unlike the `sorted()` function, the `sort()` method sorts the elements in the original list itself.

We cannot use this function with a set. However, we can enclose a set within a list, and it will sort them.

For example,

``````s = [{5,2,7,1,8}]
s.sort()
print(s)
``````

Output:

``````[{1, 2, 5, 7, 8}]
``````

Note that the `sort()` function also returns the final output in a list. We can take a similar approach with the sorted() function also.

On the other hand, we can convert the set to a list using the `list()` function and sort it with this method.

See the code below.

``````s = {5,2,7,1,8}
l = list(s)
l.sort()
print(l)
``````

Output:

``````[1, 2, 5, 7, 8]
``````