检查包含列表中的string的string最简单的方法?

我发现自己反复编写相同的代码块:

def stringInList(str, list): retVal = False for item in list: if str in item: retVal = True return retVal 

有什么办法可以更快/更less的代码写这个函数? 我通常在if语句中使用它,如下所示:

 if stringInList(str, list): print 'string was found!' 

是的,使用any()

 if any(s in item for item in L): print 'string was found!' 

正如文档中提到的,这和你的函数非常相似,但是any()都可以使用生成器expression式,而不仅仅是一个string和一个列表,以及any()短路。 一旦s in item为真,函数就会中断(如果你只是改变retVal = True return True你可以简单的用你的函数来做这件事,记住当函数返回值时函数会中断)。


你应该避免命名stringstr和列表list 。 这将覆盖内置的types。