Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 布尔值列表与逻辑运算符列表的组合_Python_Python 3.x - Fatal编程技术网

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]
操作=[]
我能设想的将
操作
应用于
条件
的唯一方法是迭代,但我认为这可能会违反下游用户期望的运算符优先级。是否有一种简洁的方法可以解决这个问题,而不需要手动处理
然后
优先级?

可能有用:。