各位再次好
非常感謝各位上篇的幫忙
我後來又嘗試了回應中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的其他函數
但是好像找不到可以用於簡化目前程式的工具
因此想再次請教各位
有沒有辦法使其再簡化一點
謝謝