python - Python - 寻求获得布尔值排列的完整列表
问题描述
我有以下采用布尔值的变量列表:
outcome_value=['A','B','C','D','E','F']
outcome_type=[True,False]
我正在寻找 True 和 False 的所有可能排列,但想指定条件,例如:
A 的结果类型不能等于 B 的结果类型,C 和 D、E 和 F 相同
如果 A=True,则 C,E 必须等于 False(除了满足 B 的条件 1)
if C=True, A,E=False(除了满足 D 的条件 1)
if E=True, A,C=False(除了满足 F 的条件 1)
因此最终结果如下:
[(True, False, False, True ,False ,True), (False, True, False, False, False ,True), (False, True, False, True, True, False)]
谢谢
解决方案
这是样本输入吗?您只有 6 个变量,并且 2^6 = 64。只需查看所有 64 种可能性并丢弃不符合您标准的那些。
[(A, B, C, D, E, F)
for A, B, C, D, E, F in itertools.product((True, False), repeat=6)
if A != B and C != D and E != F
# Your last three rules are that at most one of A, C, and E are true
if A + C + E <= 1]
推荐阅读
- google-cloud-platform - Google Cloud Build 未能检索到 Github 存储库
- authentication - 如何配置 axios 以使用 auth 请求 WebAPI?
- python - 如何用数据框列中的字符串列表替换单个字符串
- vue.js - Vuetify数据表如何使用主题颜色设置全选列的背景颜色?
- javascript - 如何替换javascript中所有出现的字符串?
- javascript - 关于英国政府新的外出就餐帮助计划网站的问题
- linux - 如何在 windows 和 linux 上为 react-native 项目运行 detox?
- c# - 如何在 CIL (MSIL)“调用实例 void valuetype [..type]”中返回或保存值?(通用中间语言)
- javascript - 表单中的下拉列表在使用节点 js 提交后清除值
- r - 检查变量并根据组归属对其进行分组