【发布时间】:2021-09-10 23:23:20
【问题描述】:
我在列表中混合了True、False、None。
如果列表中的所有值都为None,例如ListA=[None, None, None],我将不得不返回None。否则,如果我混合了布尔值和None,例如ListA=[True, True, False, None]。我需要为这个列表返回True,因为它有一个True。
还有其他有效的方法来编写这个逻辑吗?
到目前为止我的代码是:
any[listA] if list_A != None then None
【问题讨论】:
-
类似
if all(x is None for x in listA): return None else: return any(listA) -
虽然,这可以一次性完成......但这可能不值得
-
any[listA] if list_A != None then None甚至不是有效的 Python。此外,list_A != None将始终为真,因为列表不能等于 None。顺便说一句,ListA = [None, False, False, None]的预期结果是什么? -
谢谢@juanpa.arrivillaga。