python - Python - 元组的不区分大小写的用户输入
问题描述
例如,我正在编写一个 Discord 机器人,我希望它读取用户可能键入的某些关键字,然后让它输出响应。我有一个关键字列表供机器人阅读,但我希望它不区分大小写。
angy_words = ["furious", "rage", "angry", "mad", "angy", "hate", "hatred", "so upset", "so mad", "lame", "loven't", "lord have mercy"]
if any(word in msg for word in angy_words):
await message.channel.send(random.choice(angy_response))
我试过 .lower()、.upper()、.casefold(),但我想我不确定如何/在哪里实现它。我还没有找到关于使用元组执行此操作的任何其他答案/其他在线资源。
非常感谢!
解决方案
正如你所说,lower()
将在这里工作:
>>> x = "AaBbcC"
>>> x.lower()
'aabbcc'
所以在你的情况下(因为list
已经是小写了):
any(word in msg.lower() for word in angy_words)
为避免多次将消息转换为小写:
lower_msg = msg.lower()
any(word in lower_msg for word in angy_words)
推荐阅读
- ios - 打破父约束的子视图约束
- javascript - HTML Pre 并支持正确使用 CR (\r)
- android - 具有三个片段的 Android BottomNavigationView - 如何仅设置一个以具有带有选项的工具栏
- python - 如何使用 boto3 在同一存储桶(不同前缀)中下载和上传 s3 对象
- git - 如何使用 git 分支模式?
- android - 试用期结束后,所有 Google Play 订阅都将获得退款
- html - 如何在odoo报告中添加一个字段?
- server-side-rendering - 向服务器端呈现的应用程序提供端点 URI
- python - 如何将变量传递给另一个模块中的另一个函数
- javascript - 创建了一个没有错误的弹出模式,但它没有显示图像/描述