我有一个列表为 list_1 =[[A,B,C,D],[A,D],[B,C,D]]
。我想要一个输出,例如:
如上所示,我期望列表中存在的所有可能组合的计数。
答案 0 :(得分:0)
尝试使用这将循环遍历所有列表并使用 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