# Sort a Set in Python

To sort a Python set, use either the `sorted()`

or `sort()`

function. In this tutorial, we will go through examples of how to use both of these functions.

## How to use the Python sorted() function

Here is the syntax of the Python `sorted()`

function:

```
sorted(iterable, key=key, reverse=reverse)
```

`iterable`

– The iterable to sort (required).`key`

– a function to run that changes the behaviour of the sorting (optional).`reverse`

– boolean value to control sorting direction, True is reverse. Default is False (optional).

## Python Sorted Set Example

The example below demonstrates sorting a set of numbers into ascending order:

```
s = {11,5,7,1,9}
print(sorted(s))
```

```
[1, 5, 7, 9, 11]
```

`sorted()`

returns a list, to convert it back to a set use the `set()`

function like this:

```
s = {11,5,7,1,9}
print(set(sorted(s)))
```

```
{1, 5, 7, 9, 11}
```

## Sort a Set in Descending Order Example

Here is another example, this time sorting a set into descending order using the reverse attribute in the `sorted()`

function:

```
s = {11,5,7,1,9}
res = sorted(s, reverse=True)
print(res)
```

```
[11, 9, 7, 5, 1]
```

**Note** - If you convert the result back to a set after completing the descending order operation it will automatically revert back to ascending order.

## Sort a Set with the Python set() Function

The `sort()`

function only works with lists. To get around this, we can wrap the set() in list tags before sorting. The sort() function is destructive as it modifies the original list.

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

```
{1, 5, 7, 9, 11}
```

The advantage of using `sort()`

is the result doesn't need to be converted back to a set:

```
s = {11,5,7,1,9}
[s].sort()
print(type(s))
```

```
<class 'set'>
```