我正在尝试列出由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]
我对如何从组合中创建组合一无所知,文档并没有太大帮助。我想我必须从头开始创建算法。
答案 0 :(得分:0)
您可以将其实现为回溯问题。首先,您需要找到所有排列。之后,您应该对列表进行切片。例如:第一个排列是[A,B,C,D,E,F]。您将像这样[[A,B),(C,D),(E,F)]对其进行切片,第二个排列将为[A,B,C,D,F,E],切片为[(A, B),(C,D),(F,E)]。依此类推。