在python中按降序对字典进行排序

时间:2021-06-28 09:50:19

标签: python python-3.x dictionary

我想根据每个字典值中包含的 score 值对字典进行排序

这是我的字典:

{
    "name1": {
        "score": "50",
        "username": "name1"
    },
    "name2": {
        "score": "35",
        "username": "name2"
    },
    "name3": {
        "score": "11",
        "username": "name3"
    },
    "name4": {
        "score": "6326",
        "username": "name4"
    },
    "name5": {
        "score": "6274",
        "username": "name5"
    }
}

我希望结果像游戏排行榜一样按降序排列

1 个答案:

答案 0 :(得分:0)

您可以通过使用 sorted 内置并将 lambda 函数传递给关键参数:

>>> dict(sorted(data.items(), key=lambda x: x[1]['score']))

{'name3': {'score': '11', 'username': 'name3'}, 'name2': {'score': '35', 'username': 'name2'}, 'name1': {'score': '50', 'username': 'name1'}, 'name5': {'score': '6274', 'username': 'name5'}, 'name4': {'score': '6326', 'username': 'name4'}}