如标题所示,我有一个单词列表,例如stopWords = ["the", "and", "with", etc...],并且正在接收诸如“杀死狐狸和狗”之类的文本。我想要非常有效和快速的输出,例如“杀狐狸狗”。我该怎么做(我知道我可以使用for循环进行迭代,但是那不是很有效)

最佳答案

最重要的改进是使stopWords成为set 。这意味着查找将非常快

stopWords = set(["the", "and", "with", etc...])
" ".join(word for word in msg.split() if word not in stopWords)

如果您只想知道文本中是否有任何停用词
if any(word in stopWords for word in msg.split()):
    ...

关于python - 如果我有一个单词列表,如何有效地检查string是否不包含列表中的任何单词?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11025748/

10-12 18:40