检查包含列表中的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。