python教程—检查列表中包含字符串的字符串的最简单方法?(复制)-Python实用宝典

python教程—检查列表中包含字符串的字符串的最简单方法?(复制)

这个问题在这里已经有了答案:我发现自己反复编写相同的代码块:有什么方法可以用更少的代码更快地编写这个函数? 我通常在if语句中使用这个,就像这样:

这个问题已经有了答案:

我发现自己总是在写同样的代码:

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

有没有什么方法可以让我用更少的代码更快地写这个函数?
我通常在if语句中使用这个,就像这样:

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

回答

是的,使用any():

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

正如文档所提到的,这与您的函数非常相似,但是任何()都可以使用生成器表达式,而不只是字符串和列表,以及任何()短路。一旦项目中的s为真,函数就会中断(如果将retVal = True改为return True,则可以简单地对函数执行此操作。记住,函数在返回值时中断)。


应该避免将字符串命名为str和lists。这将覆盖内置类型。

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
2

发表评论