检查列表中字符串内的字符串

时间:2013-06-01 14:51:12

标签: python list python-2.7

list = [america , china, japan, mvnsangameshertet,]

我想检查列表中的任何字符串是否包含名称sangamesh。例如:

我可以用这个:

for a in list:
    if "sangamesh" in a:
        print True
    else:
        print False

但是这给了我像

的结果
False
False
False
True

我只希望输出为TrueFalse

我还是一个初学者,我尝试了很多,但无法提出替代方案!

2 个答案:

答案 0 :(得分:7)

使用any()

print any("sangamesh" in a for a in lst)

只要有True测试为a,就会返回True;之后它不再测试任何值。

为了将来参考,您还可以使用break结束循环:

for a in lst:
    if "sangamesh" in a:
        print True
        break
else:
    print False

请注意,else现在是 for循环的一部分;如果你没有突破循环,最后会执行else套件,但是如果你 break,则会跳过else套件

答案 1 :(得分:3)

>>> items = ["america" , "china", "japan", "mvnsangameshertet"]
>>> any("sangamesh" in s for s in items)
True