在Python中查找多个字符串出现

时间:2011-03-15 08:34:42

标签: python string

有没有办法做这样的事情?

if ['hel','ell','orl'] in 'hello world' :

我想看看是否所有这些字符串都出现在单词中。如果可能的话,可以采用比完全写入多线foor循环更短的方式。

3 个答案:

答案 0 :(得分:11)

你可以这样做:

if all( x in 'hello world' for x in ['hel','ell','orl'] ):
    print "Found all of them"

内置函数allany对此类内容非常有用。

答案 1 :(得分:4)

if all(substr in 'hello world' for substr in ('hel','ell','orl')):
    # all are contained

all()的优势在于,只要substr不匹配,就会停止检查。

答案 2 :(得分:0)

多行for循环是正确的继续进行方式。如果你不喜欢它在代码中看起来如何将它提取到一个函数中,那么你只需要一个单行函数调用同样的东西。