像这样:
如果列表['', 'a', 'b']
返回'a'
如果列表['', '', '']
返回,''
如果list ['a', 'b', 'c']
返回a
是python中的任何方法来执行此操作?
我的意思是不需要我写自己的功能
我想有一个内置的方法类似var a = b || c
在javascript
显而易见的方法是使用生成器表达式
>>> 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), '') ''