list = [america , china, japan, mvnsangameshertet,]
我想检查列表中的任何字符串是否包含名称sangamesh
。例如:
我可以用这个:
for a in list:
if "sangamesh" in a:
print True
else:
print False
但是这给了我像
的结果False
False
False
True
我只希望输出为True
或False
我还是一个初学者,我尝试了很多,但无法提出替代方案!
答案 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