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

4 投票
3 回答
3450 浏览
提问于 2025-04-16 13:43

有没有办法做到像这样呢?

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

我想检查这些字符串是否都出现在这个单词里。如果能用比写一个多行的循环更简单的方法就好了。

3 个回答

0

多行的 for 循环是正确的做法。如果你觉得这样写代码不好看,可以把它提取到一个函数里,这样你只需要用一行代码来调用这个函数,就能实现同样的功能。

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

all()的好处在于,一旦有一个substr不匹配,它就会立刻停止检查。

11

你可以这样做:

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

Python里面有两个内置函数,分别是 allany,它们在这种情况下非常有用。

撰写回答