首页 > 解决方案 > 从组合列表中获取唯一组

问题描述

combinations=[[0, 1, 2],[0, 2, 3], [0, 2, 4],[5, 6, 8], [5, 6, 9],[6, 7, 10], [6, 8, 9],[3,4,11],[7,9,10],[1,4,7],[9,10,11]]

output needed=
1) [[0,1,2],[5, 6, 8],[3,4,11],[7,9,10]],
2) [[0, 2, 3],[1,4,7],[5, 6, 8],[9,10,11]]

所以我得到了一个三个一组的所有可能组合的列表,我想知道我是否可以获得一个所有元素都存在的组合列表。即 [0,1,2,3,4,5,6,7,8,9,10,11] 但在一组 3 提前谢谢

标签: pythoncombinations

解决方案


这种组合是一种数学技术,用于计算列表或项目集合中可能排列的数量。python中两个列表的唯一组合可以通过将第一个列表的每个元素与第二个列表的元素配对来执行。
这可以通过使用 permutation()itertools包和zip()函数的方法来完成,另一种方法是使用 product()itertools和zip()函数。

这是示例:

import itertools
from itertools import product

list_1 = ["b","c","d"]
list_2 = [1,4,9]

unique_combinations = []

unique_combinations = list(list(zip(list_1, element))
                           for element in product(list_2, repeat = len(list_1)))

推荐阅读