python - 无法在discord.py中对字典进行排序

标签 python discord discord.py

{"user1": {"wallet": 45253, "bank": 4563}, "user2": {"wallet": 46212, "bank": 8462}, "user3": {"wallet": 96343, "bank": 6944}, "user4": {"wallet": 6946, "bank": 4593}, "user5": {"wallet": 4354, "bank": 13445}, "user6": {"wallet": 1134, "bank": 456364}}

我正在制作一个不和谐的机器人,我想制作排行榜,但我无法按银行值对这个字典进行排序,我尝试了 sorted_data = {k: v for k, v in sorted(data.items(), reverse=True ,key=lambda item: item[1]["bank"])} 但该值只是一个带有钱包和银行的字符串

最佳答案

data = {"user1": {"wallet": 45253, "bank": 4563}, "user2": {"wallet": 46212, "bank": 8462}, "user3": {"wallet": 96343, "bank": 6944}, "user4": {"wallet": 6946, "bank": 4593}, "user5": {"wallet": 4354, "bank": 13445}, "user6": {"wallet": 1134, "bank": 456364}}


sorted(data.items(), key = lambda x: x[1]['bank'])
##output
[('user1', {'bank': 4563, 'wallet': 45253}),
 ('user4', {'bank': 4593, 'wallet': 6946}),
 ('user3', {'bank': 6944, 'wallet': 96343}),
 ('user2', {'bank': 8462, 'wallet': 46212}),
 ('user5', {'bank': 13445, 'wallet': 4354}),
 ('user6', {'bank': 456364, 'wallet': 1134})]

如果你想要一个字典,就把它包起来

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

##output
{'user1': {'bank': 4563, 'wallet': 45253},
 'user2': {'bank': 8462, 'wallet': 46212},
 'user3': {'bank': 6944, 'wallet': 96343},
 'user4': {'bank': 4593, 'wallet': 6946},
 'user5': {'bank': 13445, 'wallet': 4354},
 'user6': {'bank': 456364, 'wallet': 1134}}

关于python - 无法在discord.py中对字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70962244/

相关文章:

Python如何分割消息

python - pyqtgraph ImageView和彩色图像

javascript - Python/HTML 如何在没有 cookie Advisor 的情况下抓取网页内容?

javascript - Discord.js 获取 channel 中所有消息的数组

python - 引发 MissingRequiredArgument(参数)discord.ext.commands.errors.MissingRequiredArgument : cooldown is a required argument that is missing

python - discord.py 嵌入本地保存的图像

python - 从列表中随机删除两个相邻值

python - 如何匹配模式并向其添加字符

javascript - 为什么我在运行代码时收到错误 "UnhandledPromiseRejectionWarning"?

python - Discord.py - 如何制定角色特定命令?