<分区>
像这样:
如果列表是 ['', 'a', 'b']
返回 'a'
如果列表是 ['', '', '']
返回 ''
如果列表是 ['a', 'b', 'c']
返回 a
python 中有什么方法可以做到这一点吗?
我的意思是不需要我自己写函数
我想要一个像 var a = b || 这样的内置方法c
在 javascript
标签 python
<分区>
像这样:
如果列表是 ['', 'a', 'b']
返回 'a'
如果列表是 ['', '', '']
返回 ''
如果列表是 ['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'
但是 - all False 引发异常而不是 ''
>>> next(x for x in ['', '', ''] if x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
你可以通过像这样为 next
提供默认值来解决这个问题
>>> next((x for x in ['', '', ''] if x), '')
''
关于python如何在列表中返回第一个值= true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34349430/