要检查字符串是否包含子字符串,可以使用“in”,如下所示:
if "abc" in str:
print("yay")
要检查字符串是否包含两个子字符串中的一个,可以使用“或”,如下所示:
if "abc" in str or "def" in str:
print("yay")
我的问题是python是否有办法将其简化为:
if "abc" or "def" in str:
print("yay")
我知道这不会按预期工作,因为它总会评估为真。 (Python将检查两个语句中的至少一个,
为真,“abc”将始终评估为真)
话虽如此,无论如何都要检查除此之外的这种情况,相当冗长,方法:
if "abc" in str or "def" in str:
print("yay")
答案 0 :(得分:4)
if any(word in sentence for word in {"abc", "def"}):
print("yay")
答案 1 :(得分:4)
答案 2 :(得分:2)
如果您的问题是否有办法,请检查给定的字符串列表中是否存在任何字符串。我们可以使用any()
函数和generator expressions
。
示例 -
>>> s = "Hello World Bye Abcd"
>>> l = ["Hello","Blah"]
>>> l1 = ["Yes","No"]
>>> any(li in s for li in l)
True
>>> any(li in s for li in l1)
False