Python 布尔值列表与逻辑运算符列表的组合
这似乎应该是一个简单的方法,但我正在努力想出一个优雅的方法来实现它 最后,我有两个清单:Python 布尔值列表与逻辑运算符列表的组合,python,python-3.x,Python,Python 3.x,这似乎应该是一个简单的方法,但我正在努力想出一个优雅的方法来实现它 最后,我有两个清单: 包含布尔值的任意长度n,例如conditions=[True,True] 长度n-1中的一个,包含与逻辑运算相对应的字符串,例如operations=['&'] 我想做的是将字符串&映射到逻辑和操作,并将其应用到条件变量真与真-产生真 我可以实现以下映射: OPERATOR_MAP = { '&': operator.and_, '|': operator.or_ } 留给我的
- 包含布尔值的任意长度
,例如n
conditions=[True,True]
- 长度
中的一个,包含与逻辑运算相对应的字符串,例如n-1
operations=['&']
&
映射到逻辑和
操作,并将其应用到条件
变量<代码>真与真-产生<代码>真
我可以实现以下映射:
OPERATOR_MAP = {
'&': operator.and_,
'|': operator.or_
}
留给我的是:
conditions = [True, True]
operations = [<built-in function and_>]
conditions=[True,True]
操作=[]
我能设想的将操作
应用于条件
的唯一方法是迭代,但我认为这可能会违反下游用户期望的运算符优先级。是否有一种简洁的方法可以解决这个问题,而不需要手动处理和然后或优先级?可能有用:。