Itertools 模組中的組合方法

itertools.combinations 將返回列表的 k 組合序列的生成器。

換句話說: 它將返回輸入列表的所有可能的 k-組合的元組的生成器。

例如:

如果你有一個清單:

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

輸出:

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

上面的輸出是一個生成器轉換為輸入列表 a 的所有可能的成對組合的元組列表

你還可以找到所有 3 種組合:

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

輸出:

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