各位再次好
非常感谢各位上篇的帮忙
我后来又尝试了回应中M大所说的 资源重复的情形
我将List中的资料改成(id,value)这种状态
list = [(0,1),(1,2),(2,1),(3,1),(4,0),(5,0),(6,3)]
然后再从中做分层筛选
第一层 筛选出相加=2的
第二层 筛选出剩下的资料,相加等于1的
第三层 剩余的资料也保留
(已经用过的不能再用)
如果单纯使用Combination
那就会发生重复的情形
像是 ((0,1),(2,1)) 选出来后 之后又有 ((0,1),(3,1))
所以我多加一些if去避免重复
以下是我目前写的成果
https://ideone.com/OQyEFz
虽然达到了想要的结果
但是觉得实在很冗长
我又查了itertools的其他函数
但是好像找不到可以用于简化目前程式的工具
因此想再次请教各位
有没有办法使其再简化一点
谢谢