繁体   English   中英

如何从 python 中的布尔值列表中进行所有可能的组合?

[英]How can I make all posible combinations from a list of booleans in python?

我必须创建一个 function ,给定 6 个布尔值,我将返回所有可能的组合。

因此,例如,一种可能的组合是:

  • bool_1 = 真
  • bool_2 = 真
  • bool_3 = 真
  • bool_4 = 真
  • bool_5 = 真
  • bool_6 = 真

第二种组合是:

  • bool_1 = 真
  • bool_2 = 真
  • bool_3 = 真
  • bool_4 = 真
  • bool_5 = 真
  • bool_6 = 假

这可能吗?

使用递归:
一种不使用库的方法。

代码:

ans=[]
def TF(n,l):
    global ans
    if(n==0):
        ans.append(l)
        return l
    l.append(True)
    TF(n-1,l[:])
    l.pop()
    l.append(False)
    TF(n-1,l[:])

l=[]
TF(3,l)
print(ans)

Output:

[[True, True, True], [True, True, False], [True, False, True], [True, False, False], [False, True, True], [False, True, False], [False, False, True], [False, False, False]]

对于 6 个布尔值,执行 TF(6,l)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM