Python3 嵌套字典打印

Python3 Nested Dictionary print

好吧,我这辈子都想不出让这段代码起作用的方法。我的想法是,因为我们正在处理级别中的级别,所以我们已经在第一本字典中,所以它应该是级别[第二本字典]

我当前的输出是一个未定义的错误名称。我想要做的是能够打印每个字典中的名称、提升值等。最终我将把这些查询到语句中。例如print(level[colour])应该在for语句中打印当前关卡的颜色或者print(levels[Admin][colour])应该输出admin的颜色。

levels={"Admin":{"name":"Admin","hoist":"1","colour":"red"},"Moderator":{"name":"Moderator","hoist":"1","colour":"yellow"},"Henchman":{"name":"Henchman","hoist":"1","colour":"yellow"},"Member":{"name":"Member","hoist":"0","colour":"green"},"Verify":{"name":"Verify","hoist":"1","colour":"white"},"Leach":{"name":"Leach","hoist":"1","colour":"pink"}}



for level in levels:
    print(level[name])

感谢任何帮助。

这是我在其中使用的语法。

@client.command()
async def roles(ctx):
    guild=ctx.guild
    for level in levels.keys():
        name=levels[level]['name']
        hoist=levels[level]['hoist']
        colour=levels[level]['colour']
        await guild.create_role(name=name,hoist=hoist)

您的密钥都是字符串,因此您需要用引号将 name 括起来。

for level in levels:
    print(levels[level]['name'])

print(levels['Admin']['colour'])

输出:

Admin
Moderator
Henchman
Member
Verify
Leach

red