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)]