python 如何检查元组是否包含列表中的任何内容?
python how to check if tuple contains anything from list?
我正在用 python 制作一个 Discord 机器人,现在我正在制作一个命令,如果满足某些要求,机器人会重复您的输入。该命令的完整代码是 here (我添加了注释)。我正在清理输入,其中一部分检查输入中是否使用了任何不良词。
输入是一个元组,我这样做是为了显示所说的前 5 个词。
所以我想检查输入中是否使用了 BADWORD_triggers 中的任何一个,目前我是这样做的: elif ' '.join(args) in BADWORD_triggers
然而,这只会检查 是否首先 单词是触发器之一。我还尝试了 elif args in BADWORD_triggers
和 elif BADWORD_triggers in args
,这只会导致错误。
对于其他命令,我使用 def async function(ctx, *, arg)
,我可以在其中检查输入是否包含任何 BADWORD_triggers,如下所示:if arg in BADWORD_triggers:
因为 *, arg
是一个字符串。
所以我的问题很具体:如何检查元组是否包含列表中的任何内容。
示例:
这里是我使用一个坏词“坏”作为唯一和第一个输入,机器人拒绝说出来。但是我希望它也拒绝这个,因为它包含一个坏词。
https://imgur.com/a/CTA06Q1
这里我使用了一个坏词“bad”但是随着输入的增加,消息被删除了
机器人会重复我说的话。
https://imgur.com/a/5v3Rpx2
例如,您可以定义一个变量,如果有错误词则设置为 True:
badwords = False
for word in args:
if word in BADWORD_triggers: badwords = True
你可以写一个简单的 function
:
def check_bad_words(words):
for word in words:
if word in BADWORD_triggers:
return True
return False
然后在你的 elif-statement
:
elif check_bad_words(args):
pass
我得到的是你有以下两个变量,其中包含一些输入数据和坏词
input_tuple = ("Hii", "This", 'Jack')
bad_words_check = ['xyz', 'abc']
您可以通过以下方式检查天气 input_tuple
中是否存在 bad_words_check
中的任何单词
for word in input_tuple:
if word in bad_words_check :
# add your code for handling bad words
print("got bad words")
我正在用 python 制作一个 Discord 机器人,现在我正在制作一个命令,如果满足某些要求,机器人会重复您的输入。该命令的完整代码是 here (我添加了注释)。我正在清理输入,其中一部分检查输入中是否使用了任何不良词。
输入是一个元组,我这样做是为了显示所说的前 5 个词。
所以我想检查输入中是否使用了 BADWORD_triggers 中的任何一个,目前我是这样做的: elif ' '.join(args) in BADWORD_triggers
然而,这只会检查 是否首先 单词是触发器之一。我还尝试了 elif args in BADWORD_triggers
和 elif BADWORD_triggers in args
,这只会导致错误。
对于其他命令,我使用 def async function(ctx, *, arg)
,我可以在其中检查输入是否包含任何 BADWORD_triggers,如下所示:if arg in BADWORD_triggers:
因为 *, arg
是一个字符串。
所以我的问题很具体:如何检查元组是否包含列表中的任何内容。
示例:
这里是我使用一个坏词“坏”作为唯一和第一个输入,机器人拒绝说出来。但是我希望它也拒绝这个,因为它包含一个坏词。 https://imgur.com/a/CTA06Q1
这里我使用了一个坏词“bad”但是随着输入的增加,消息被删除了 机器人会重复我说的话。 https://imgur.com/a/5v3Rpx2
例如,您可以定义一个变量,如果有错误词则设置为 True:
badwords = False
for word in args:
if word in BADWORD_triggers: badwords = True
你可以写一个简单的 function
:
def check_bad_words(words):
for word in words:
if word in BADWORD_triggers:
return True
return False
然后在你的 elif-statement
:
elif check_bad_words(args):
pass
我得到的是你有以下两个变量,其中包含一些输入数据和坏词
input_tuple = ("Hii", "This", 'Jack')
bad_words_check = ['xyz', 'abc']
您可以通过以下方式检查天气 input_tuple
中是否存在 bad_words_check
中的任何单词
for word in input_tuple:
if word in bad_words_check :
# add your code for handling bad words
print("got bad words")