检查是否在iterable中是否在字符串中?

时间:2016-02-24 22:44:16

标签: python python-3.x

你可以检查是否有任何东西是"在"中的任何内容的一部分,它适用于:

元组。 I.E:

"foo" in ("foo", 1, c, etc) #Return True

解释。 I.E:

"foo" in ["foo", 1, c, etc] #Return true

的字符串。 I.E:

"a" in "ago" will #return true

字典。 I.E:

"foo" in {"foo" : "bar"} #return true

我可以通过检查多个子字符串是否在一个字符串中来执行相反的操作吗?就像在这些方面一样:

x = "W", "e", "99"
z = "Welcome"
w in z

理想情况下,我希望它返回True,因为其中一个子字符串位于"欢迎"。

是否有内置函数用于此类内容?

-Thanks

1 个答案:

答案 0 :(得分:5)

您应该将any与生成器表达式一起使用:

any(xx in z for xx in x)

any会短路,所以如果iterable中的第一项是在字符串中,则不需要检查其余项。