我试图找出一种方法来计算某个产品的所有可能的功能组合,并将它们作为列表返回,没有重复。
我有以这种方式分组的项目(产品的功能):
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 但我被卡住了。有任何想法吗?