从3个数字生成所有组合

时间:2013-12-13 18:39:03

标签: python

要在python中生成3个(或更多)数字的所有排列,可以使用itertools.permutations。 如何以两个批次生成组合。

对于前。 :输入数字列表:[1, 2, 3] 并输出:[1,2], [2,3], [1,3]

2 个答案:

答案 0 :(得分:8)

使用itertools.combinations

>>> from itertools import combinations
>>> lst = [1, 2, 3]
>>> list(combinations(lst, 2))
[(1, 2), (1, 3), (2, 3)]
>>> [list(x) for x in combinations(lst, 2)]
[[1, 2], [1, 3], [2, 3]]
>>>

答案 1 :(得分:0)

itertools.combinations(iterable, r)

示例:

for x in itertools.combinations([1,2,3],2):
    print x