簡體   English   中英

計算給定列表中所有可能的組合

[英]Counting all possible combinations in a given list of list

我有一個列表列表list_1 =[[A,B,C,D],[A,D],[B,C,D]] 我想要一個 output 例如:

所需輸出

因此,如上所示,我期望列表中存在的所有可能組合的計數。

嘗試使用它,它將遍歷所有列表並使用itertools.combinations計算此列表中所有可能的組合並將數字添加到result

import itertools

list_1 =[["A","B","C","D"],["A","D"],["B","C","D"]]
result = {}

for sublist in list_1:
  for L in range(1, len(sublist)+1):
    for subset in list(itertools.combinations(sublist, L)):
      key = "".join(list(subset))
      if key in result:
        result[key] += 1
      else:
        result[key] = 1

如果你想打印它們:

for item in result:
  print(item + " => " + str(result[item]))

# Output:  
#         A => 2
#         B => 2
#         C => 2
#         D => 3
#         AB => 1
#         AC => 1
#         AD => 2
#         BC => 2
#         BD => 2
#         CD => 2
#         ABC => 1
#         ABD => 1
#         ACD => 1
#         BCD => 2
#         ABCD => 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM