Как отсортировать словарь по убыванию?

Есть словарь:

users_database = {
'609629735': {'balance': 1, 'full_name': 'Anonymous Anonymously'}, 
'639141904': {'balance': 32, 'full_name': '?????'}
}

Как его можно отсортировать по убыванию значения в 'balance'?

Мне необходимо получить:

users_database = {
'639141904': {'balance': 32, 'full_name': '?????'}, 
'609629735': {'balance': 1, 'full_name': 'Anonymous Anonymously'}
}

Пару примеров, которыми я пытался получить необходимый результат:

users_database = {k: users_database[k]['balance'] for k in sorted(users_database, key=users_database.get('balance'), reverse=True)}

и

users_database = sorted(users_database, key=lambda x: int(x['balance']))

Прошу оставить читаемый и понятный код, который можно будет самостоятельно разобрать и понять что к чему, иные идеи / предложения / коды прошу оставлять в качестве комментария на этот вопрос.


Ответы (1 шт):

Автор решения: MaxU

Для сортировки данных в Python используют встроенную функцию sorted():

res = dict(sorted(users_database.items(), 
                  key=lambda x: x[1].get("balance"), 
                  reverse=True))

результат:

In [281]: res
Out[281]:
{'639141904': {'balance': 32, 'full_name': '?????'},
 '609629735': {'balance': 1, 'full_name': 'Anonymous Anonymously'}}
→ Ссылка