python - 从组合列表中获取唯一组
问题描述
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 提前谢谢
解决方案
这种组合是一种数学技术,用于计算列表或项目集合中可能排列的数量。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)))
推荐阅读
- c++ - 为什么类中的组件函数中的 const 是必需的
- javascript - 拆分从函数传递的数据
- php - 如何更新laravel中的多选复选框值
- python - 使用 Pandas 将 CSV 读入具有不同行长的数据帧
- java - 有没有更好的方法来处理这些 if 语句?
- python - PyQt5 和 Django:如何使用 HTTP 请求(Multipart-form)上传图像?
- aws-api-gateway - API Gateway HTTP 代理与无服务器离线集成(不是 Lambda 代理)
- ruby - Google API 服务器到服务器通信不起作用(Ruby 实现)
- java - 来自用户的输入gets()
- javascript - 让选项卡上的选择器根据需要调整大小和移动?