繁体   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