当前位置:  开发笔记 > 编程语言 > 正文

python如何在列表中返回第一个value = true?

如何解决《python如何在列表中返回第一个value=true?》经验,为你挑选了1个好方法。

像这样:
如果列表['', 'a', 'b']返回'a'
如果列表['', '', '']返回,''
如果list ['a', 'b', 'c']返回a
是python中的任何方法来执行此操作?
我的意思是不需要我写自己的功能
我想有一个内置的方法类似var a = b || cjavascript



1> John La Rooy..:

显而易见的方法是使用生成器表达式

>>> next(x for x in ['a', 'b', 'c'] if x)
'a'
>>> next(x for x in ['', 'b', 'c'] if x)
'b'

但是 - 所有False都会引发异常,而不是 ''

>>> next(x for x in ['', '', ''] if x)
Traceback (most recent call last):
  File "", line 1, in 
StopIteration

你可以通过提供这样的默认值来解决next这个问题

>>> next((x for x in ['', '', ''] if x), '')
''

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有