生成集合的分区

时间:2018-06-19 13:39:04

标签: python python-3.x algorithm combinatorics

给出一个像xyz这样的字符串,我想生成partition of a set。 不是功率集,只能配对才能从中构造原始字符串(请参见下面的示例)。

def get_pairings(a_string):
    # return a list of lists where each list contains 
    # lists that together contain all the characters of a_string

示例

给出字符串xyz,函数get_pairings将返回:

[
 [['x'], ['y'], ['z']], 
 [['z'], ['x', 'y']], 
 [['x'], ['y', 'z']], 
 [['y'], ['x', 'z']],
 [['x', 'y', 'z']]
]

给出字符串xy,结果将是:

[
 [['x'], ['y']],
 [['x', 'y']]
]

这在python中怎么可能?

感谢您的帮助!

0 个答案:

没有答案