【问题标题】:List all combinations of combinations [duplicate]列出所有组合的组合[重复]
【发布时间】:2018-12-06 19:46:10
【问题描述】:

我正在尝试列出 6 个人可以组成的所有可能的 3 组组合。 (A, B, C, D, E, F)

  • 组的顺序没有关系
  • 这对的顺序无关紧要

可能的组合:

{(B,D),(C,E),(G,H)}

{(B,C),(D,E),(G,H)}

{(B,E),(C,D),(G,H)}

我只能写这么多:

from itertools import combinations
x = combinations('ABCDEF', 2)
z = [y for y in x]

我不知道应该如何从组合中创建组合,文档并没有太大帮助。我想我必须有人从头开始创建算法。

  • 我知道总共应该列出 15 种组合

【问题讨论】:

  • @Seraf 我不这么认为

标签: python combinations itertools combinatorics


【解决方案1】:

您可以将此作为回溯问题来实现。首先,您需要找到所有排列。之后,您应该对列表进行切片。例如:第一个排列是 [A,B,C,D,E,F]。您将像这样对它进行切片[(A,B),(C,D),(E,F)],第二个排列将是 [A,B,C,D,F,E],切片是 [(A, B),(C,D),(F,E)]。以此类推。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多