3

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

if "word1" in data or "word2" in data or "word3" in data:
    ....

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

非常感谢

4

3 回答 3

10
if any(word in data for word in ('word1', 'word2', 'word3')):
    ...

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

于 2012-07-30T18:29:34.427 回答
8

你可以做:

if any(x in data for x in ('word1', 'word2', 'word3')):
于 2012-07-30T18:29:26.457 回答
6

为什么不是集合相交?

if set(["word1", "word2","word3"]) & set(data):
    # do stuff!
于 2012-07-30T18:30:27.980 回答