python - 将布尔值列表与逻辑运算符列表相结合
问题描述
这似乎应该是一个简单的,但我正在努力想出一种优雅的方式来实现它。
最终我有两个列表:
n
包含布尔值的任意长度之一,例如conditions = [True, True]
n - 1
包含对应于逻辑操作的字符串的长度之一,例如operations = ['&']
我想做的是将字符串映射&
到逻辑and
运算,并将其应用于conditions
变量;True and True
- 屈服True
。
我可以实现映射:
OPERATOR_MAP = {
'&': operator.and_,
'|': operator.or_
}
留给我:
conditions = [True, True]
operations = [<built-in function and_>]
operations
我可以设想应用to的唯一方法conditions
是迭代,但我认为这可能会导致违反下游用户期望的运算符优先级。有没有一种不涉及手动处理优先级的巧妙方法and
来解决这个问题?or
解决方案
推荐阅读
- python - 比较 2 个 ID 列上的 2 个 CSV 并将匹配项写入新的 csv
- networking - Ansible playbook 从交换机内部远程登录交换机以更新静态路由
- android - 如何从 recyclerview 适配器中删除项目
- powershell - 如何使用 PowerShell 过滤 CSV 文件?
- video - 检测 h264 访问单元可能的位置
- python - 访问烧瓶中POST方法发送的由换行分隔的数据
- reactjs - Reactjs Typescript联系参数问题
- javascript - .NET Core 如何在运行时验证 JS 代码
- java - JUnit 测试错误:java.lang.NoClassDefFoundError:org/junit/platform/commons/PreconditionViolationException
- reactjs - 反应本机 USSD 链接