例如a = (3, False, False, False)
或a = (False, 4, False, False)
如何在python中将元组的唯一真值分配给变量?
我不关心这个位置,并且永远不会有2个值是真的,所以
例如,如果
a = (3, False, False, False),
我想要b = 3(a的唯一真值) 或者如果
a = (False, 4, False, False)
我想要b = 4
编辑:
我能做到:
for value in a:
if value:
print value
但对于这样一个简单的问题,有没有那么简单的方法呢?
答案 0 :(得分:4)
将filter与None
一起用作功能元素:
>>> a=filter(None,(3, False, False, False))
或者只是实际使用带有break
的循环,并且循环元素的最后一个值就是你所寻求的:
>>> for e in (3, False, False, False):
... if e: break
...
>>> e
3
答案 1 :(得分:1)
a = [i for i in a if i is not False][0]
答案 2 :(得分:0)
使用next
和生成器表达式。
next(x in a if x)