【发布时间】:2013-09-25 17:18:10
【问题描述】:
我正在尝试找出一种方法来计算某个产品的所有可能的功能组合,并将它们作为列表返回,而不是重复。
我有以这种方式分组的项目(产品的功能):
a
a1
a2
a3
b
b1
b2
c
c1
c2
c3
c4
组和项的数量是未知的,所以实际上有N组和N项。
示例组合:
# Combinations with 3 groups
a1_b1_c1
a1_b2_c1
a1_b3_c1
...and so on
# Combinations with 4 groups
a1_b1_c1_d1
a1_b2_c1_d1
a1_b3_c1_d1
...and so on
我认为a1_b2_c3 和a1_c3_b2 是重复的,并且我不希望返回的列表中有任何重复。
没有所有功能的产品,例如a1_b2 或b2 将不是有效产品,因此我也不希望返回列表中的产品。
我研究了 itertools,但我被困住了。 有什么想法吗?
【问题讨论】:
-
是的,就是这样!谢谢。