假设我在listL中有一组数字
qual_list = [6,6,7,8,10,14,13,5,5]
我想创建40或更高的群组(例如[6,14,7,13]
或[6,8,10,5,13]
)但是我想要创建最多数量的群组团体可能。我只能使用一次这个号码。
我的想法是:
使用itertools.combinations
选择2(可能有两个20)。
然后循环浏览combo_list
以查看元素的总和是否> = 40。
从qual_list
中弹出通过第2步的元素。
然后做同样的事情,但选择3。
重复步骤选择4. 5,6直到qual_list
的总和<40并且代码停止。
似乎有很多循环 - 并且没有确保我获得最大数量的组,因为此方法将选择较小的数字最后,并且在选择较小的数字期间将抓取更大的数字选秀权。
任何帮助将不胜感激!