检查列表中的每个元素是否与Python中的字符串匹配?

mrb*_*lue 3 python list

我正在编写一个简单的if else循环来检查字符串是否与多个单词匹配,如下所示:

if "word1" in data or "word2" in data or "word3" in data:
    ....
Run Code Online (Sandbox Code Playgroud)

我不确定我们是否有更全面的方法来处理这种比较?

非常感谢你

Ste*_*ski 10

if any(word in data for word in ('word1', 'word2', 'word3')):
    ...
Run Code Online (Sandbox Code Playgroud)

如果遇到性能问题,您可能希望在运行比较之前转换data为a set.


JBe*_*rdo 8

你可以做:

if any(x in data for x in ('word1', 'word2', 'word3')):
Run Code Online (Sandbox Code Playgroud)


ins*_*get 6

为什么一组不相交?

if set(["word1", "word2","word3"]) & set(data):
    # do stuff!
Run Code Online (Sandbox Code Playgroud)