剩余项目的所有可能组合

时间:2019-10-31 18:30:00

标签: python combinations itertools

在使用itertools的python中,我可以使用组合函数来传递列表和指定的长度:

results = itertools.combinations([1,2,3,4,5], 2)
print (list(results))

结果:  (1,2),

(1,3)

(1,4)

(2,3)

等等。

我的问题是,我该如何与剩余商品

进行特定长度的第二组组合

例如,如果我想使用其余项目进行长度为2的另一种组合,结果应如下所示:

(1,2)[(3,4),(3,5),(4,5)]

(1,3)[(2,4),(2,5),(4,5)]

等...

1 个答案:

答案 0 :(得分:1)

您可以这样做

import itertools

nums = set(range(1, 6))
for c1 in itertools.combinations(nums, 2):
    c2s = list(itertools.combinations(nums - set(c1), 2))
    print(c1, c2s)