Python 3.x 使列表小写问题

Python 3.x 使列表小写问题,python-3.x,discord,discord.py,discord.py-rewrite,Python 3.x,Discord,Discord.py,Discord.py Rewrite,您好,我正在尝试使列表中的角色区分大小写,以便在中调用命令Blue时,可以作为Blue或Blue调用。我从代码中得到的错误是: discord.ext.commands.errors.CommandInvokeError:Command引发异常:AttributeError:“list”对象没有属性“lower” 如果角色中的colors.lower()出现错误的特定行: 这就是我的代码的外观 #--- Role list Categories ---" Colours = ['blue

您好,我正在尝试使列表中的角色区分大小写,以便在中调用命令Blue时,可以作为Blue或Blue调用。我从代码中得到的错误是:

discord.ext.commands.errors.CommandInvokeError:Command引发异常:AttributeError:“list”对象没有属性“lower”

如果角色中的colors.lower()出现错误的特定行:

这就是我的代码的外观

#--- Role list Categories ---"
    Colours = ['blue', 'Yellow', 'Pink', 'Black']
    Games = ['LoL', 'WoW']
    Platforms = ['PC', 'Xbox', 'PS4', 'Nintendo Switch']

    if ctx.message.channel == intros:
        pass
    else:
        if ctx.message.channel == botroom:
            message = '\n**Colour Roles** \n__Change the colour of your nickname.__\n'.format(author.display_name)
            for role in Colours:
                if Colours.lower() in roles: # if the command is typed cases-sensitive 
                    message += '\n{} **({})**'.format(role, len([member for member in guild.members if ([r for r in member.roles if r.name == role])]))
                    message += ''
这一行在这里:

if colors.lower()在角色中:

正在尝试将列表
颜色
小写。你应该试试:

if role.lower()在角色中:


因为
role
遍历颜色列表中的每个字符串。

python列表没有
lower()方法。请尝试:

for role in [c.lower() for c in Colours]:
    if role in roles:

我确实尝试过这一点,但不幸的是,它将角色从角色列表中删除
colors=['Blue','Yellow','Pink','Black']
,尽管如果我将列表中的蓝色更改为蓝色,它将在命令发出时显示!调用中的列表。我想这是因为我在列表中键入了区分大小写的内容。但是,我希望用户能够同时使用蓝色或蓝色。这似乎帮助我解决了
role.capitalize()