# How to sort a dictionary by value in Python

March 25, 2022

## How to sort a dictionary by value in Python

In this article, we’ll learn how to sort a dictionary by value with Python, using a feature of the language’s functional paradigm.

The idea here is very simple, let’s use a lambda function to access all the values in the dictionary, which is Python’s way of accessing complex objects

As this function goes through it, it identifies if an element has a value greater than the other through the sorted function and the lambda, which will be our second argument

Let’s see it in practice:

```unordered = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}

sortedDict = {k: v for k, v in sorted(unordered.items(), key=lambda item: item[1])}

print(sortedDict)
```

Check out the return:

`{0: 0, 2: 1, 1: 2, 4: 3, 3: 4}`

Note that the dictionary was ordered correctly by the values, the keys do not influence the order

If you need the order to be reversed, use the parameter reverse=True

See an example:

```unordered = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}

sortedDict = {k: v for k, v in sorted(unordered.items(), key=lambda item: item[1], reverse=True)}

print(sortedDict)
```

This is the result:

`{3: 4, 4: 3, 1: 2, 2: 1, 0: 0}`

Once again, the dictionary was sorted by values only, now in reverse

## Conclusion

In this article we arned how to sort a dictionary by value in Python

We use the sorted method, with a lambda function, which is Python’s way of accessing complete object values one by one

This way the dictionaries are sorted by their value, we can reverse the order using the reversed parameter set to True