【问题标题】:Finding combination of elements of a list [duplicate]查找列表元素的组合[重复]
【发布时间】:2012-04-11 02:55:50
【问题描述】:

可能重复:
Python code to pick out all possible combinations from a list?

我有一个列表说 [1, 2, 3]。我想找到所有的组合

C(3,1)
[1] [2] [3]

C(3,2)
[1,2] [2,3] [1,3]

C(3,3)
[1,2,3]

是否有一些模块/库可以做到这一点?

【问题讨论】:

标签: python


【解决方案1】:

您可以使用itertools.combinations

>>> import itertools

>>> list(itertools.combinations([1,2,3], 1))
[(1,), (2,), (3,)]

>>> list(itertools.combinations([1,2,3], 2))
[(1, 2), (1, 3), (2, 3)]

>>> list(itertools.combinations([1,2,3], 3))
[(1, 2, 3)]

或一般为您的C:

def C(a, b):
    return list(itertools.combinations(range(1,a+1), b))

【讨论】:

    【解决方案2】:

    【讨论】:

    • 即使需要链接,也不要只发布链接。展示如何按照他的要求去做,或者至少引用来源。如果您只需要提供一个链接,请将其发布为评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    • 2023-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多