簡體   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