fre*_*rik 52 python string list
我发现自己反复编写相同的代码块:
def stringInList(str, list):
retVal = False
for item in list:
if str in item:
retVal = True
return retVal
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以更快/更少的代码编写这个功能?我通常在if语句中使用它,如下所示:
if stringInList(str, list):
print 'string was found!'
Run Code Online (Sandbox Code Playgroud)
Ter*_*ryA 77
是的,使用any():
if any(s in item for item in L):
print 'string was found!'
Run Code Online (Sandbox Code Playgroud)
正如文档所提到的,这几乎等同于你的函数,但any()可以使用生成器表达式而不仅仅是字符串和列表,以及any()短路.一旦s in item为True,函数符(你可以简单地做这与你的功能,如果你只需要改变retVal = True到return True.请记住,功能突破,当它返回一个值).
您应该避免命名字符串str和列表list.这将覆盖内置类型.
| 归档时间: |
|
| 查看次数: |
2271 次 |
| 最近记录: |