假设我有类似的东西:
[(True, False, False), True] = True
或
(False, [True, True, False], False) = False
可能无限深,元组被评估为OR并列出ANDs
如何用python编写这个函数?
答案 0 :(得分:1)
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