假设我有类似的东西:
[(True, False, False), True] = True
或者
(False, [True, True, False], False) = False
可以无限深,元组被评估为 OR 和列表 AND
这个函数怎么能用python写呢?
假设我有类似的东西:
[(True, False, False), True] = True
或者
(False, [True, True, False], False) = False
可以无限深,元组被评估为 OR 和列表 AND
这个函数怎么能用python写呢?
def evaluate_bool(expr):
if isinstance(expr, list):
return all(evaluate_bool(e) for e in expr)
elif isinstance(expr, tuple):
return any(evaluate_bool(e) for e in expr)
else:
return expr
evaluate_bool([(True, False, False), True]) # True
evaluate_bool((False, [True, True, False], False)) # False