小编kne*_*das的帖子

从列表的元素中查找互斥集的python组合

在我目前正在开展的一个项目中,我已经实现了我希望程序执行的大约80%,我对结果非常满意.

在剩下的20%中,我遇到了一个问题,让我有点困惑如何解决.这里是:

我想出了一个包含几个数字(任意长度)的列表列表例如:

listElement[0] = [1, 2, 3]
listElement[1] = [3, 6, 8]
listElement[2] = [4, 9]
listElement[4] = [6, 11]
listElement[n] = [x, y, z...]
Run Code Online (Sandbox Code Playgroud)

其中n可达到40,000左右.

假设每个列表元素是一组数字(在数学意义上),我想要做的是导出互斥集的所有组合; 也就是说,就像上面列表元素的powerset一样,但排除了所有非不相交集元素.

因此,为了继续n = 4的示例,我想提出一个具有以下组合的列表:

newlistElement[0] = [1, 2, 3]
newlistElement[1] = [3, 6, 8]
newlistElement[2] = [4, 9]
newlistElement[4] = [6, 11] 
newlistElement[5] = [[1, 2, 3], [4, 9]]
newlistElement[6] = [[1, 2, 3], [6, 11]]
newlistElement[7] = [[1, 2, 3], [4, 9], [6, 11]]
newlistElement[8] = [[3, 6, 8], [4, 9]] …
Run Code Online (Sandbox Code Playgroud)

python algorithm

9
推荐指数
1
解决办法
2618
查看次数

标签 统计

algorithm ×1

python ×1