我试图创建一个领导团队( discord.py),我已经有了一个包含用户的排序数组,但我无法使用其中的数据
数组示例:
{"702338551806951466": {"experience": 45, "level": 3, "need_xp": 70}}
代码本身:
@client.command(aliases=['l', 'лидеры'])
async def leaders(ctx):
with open('users.json', 'r') as f:
users = json.load(f)
users = sorted(users.items(), key=lambda x: x[1]['level'], reverse=True)
embed = discord.Embed(title='Лидеры 🏆', colour=discord.Colour.from_rgb(randint(5,255), randint(5,255), randint(5,255)))
for user in users:
level = user['level'] #ошибка тут
embed.add_field(name=user.name, value=f'Уровень: **{level}**')
await ctx.send(embed=embed)
错误:
TypeError: tuple indices must be integers or slices, not str
如何在循环中获取数组的元素?而如何获取数组的名字,也就是人的id呢?
将
level = user['level']标题改为user[1]['level']要获得
id它,请联系user[0]上面,您按键和值对字典键值列表进行了排序
level,因此users您现在有一个元组列表(<ключ>, <значение>),示例元素在users: