检查两个字符串是否在python中的第三个字符串中的更简单方法

时间:2018-10-25 20:16:04

标签: python string python-2.7

这是我下面的代码,可以正常工作。 'cluster_name'是一个字符串变量,将保留一些文本。

if 'abc' not in cluster_name or 'xyz' not in cluster_name:
    print "true"
else:
    print "false"

我希望使if的条件更加简单,就像这样:

if 'abc' or 'xyz' not in cluster_name:
    print "true"
else:
    print "false"

有更简单的方法吗?

2 个答案:

答案 0 :(得分:2)

您的方法看起来不错,但推广效果不好(想象一下,如果您必须检查十个子字符串而不是两个)。尝试any

substrings = ['abc', 'xyz']
if any(substr not in cluster_name for substr in substrings):
    print("true")
else:
    print("false")

答案 1 :(得分:1)

import re
print (re.search('abc|xyz',cluster_name) is not None)

更简单。它不需要ifelse;您可以根据需要延长搜索字符串(尽管在合理范围内,毫无疑问)。如果正则表达式不匹配则re.search返回None,而您想要相反,因此not None