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

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

我可以使用这个:

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

但这给了我这样的结果

False
False
False
True

True我只希望输出为False

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

4

2 回答 2

6

使用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跳过套件。

于 2013-06-01T14:52:19.053 回答
3
>>> items = ["america" , "china", "japan", "mvnsangameshertet"]
>>> any("sangamesh" in s for s in items)
True
于 2013-06-01T14:52:05.397 回答