Python 对字典/json文件中的值进行排序

Python 对字典/json文件中的值进行排序,python,json,discord.py,Python,Json,Discord.py,我有一个discord.py命令,它通过json创建排行榜 cogs/coins.json(字典)如下所示: { "781524858026590218": { "name": "kvbot test platform", "total_coins": 129, "data": { "5640509790795

我有一个discord.py命令,它通过json创建排行榜

cogs/coins.json(字典)如下所示:

{
  "781524858026590218": {
        "name": "kvbot test platform",
        "total_coins": 129,
        "data": {
            "564050979079585803": {
                "name": "Bluesheep33",
                "coins": 127
            },
            "528647474596937733": {
                "name": "ACAT_",
                "coins": 2
            }
}
(json文件中带数字的绿色字符串是discord guild/成员ID)

如何使代码更短更清晰

感谢您提前提供帮助,因为我真的不知道如何在dict中查找(排序)前十项,这样做比反复查看dict并在那里做不同的事情容易得多

还有一些更好的代码,比如
Dict.get
,用于安全访问

基于JSON数据示例

以open('cogs/coins.json','r')作为f的
:
coins_data=json.load(f)
#Get是对dict的安全访问
#Dict.items()返回(Key,Val)对
members\u coins=list(coins\u data.get(str(ctx.guild.id),None)['data'].items())
如果成员为无:#如果未找到数据
等待ctx.send('非数据')
返回
#按对的Val部分和'coins'键对列表进行排序,反之为降序
成员_coins.sort(key=lambda x:x[1]['coins'],reverse=True)
输出=“”
#前10项的列表[:10](如果列表较小,没关系,python不介意)
对于成员id,成员硬币中的VAL[:10]:
输出+=f'{vals[“name”]}:{vals[“coins”]}'
#输出+=f':{vals[“coins”]}#如果您想“提及”显示用户
等待ctx发送(输出)

不要添加图像,复制并粘贴您的代码您想做什么?在你的帖子中清楚地说明它,并且只粘贴相关的代码。这个问题让我想将一个图像粘贴到评论中作为评论。