从一组数字中选出20组

2024-04-25 09:23:40 发布

您现在位置:Python中文网/ 问答频道 /正文

假设列表中有一组数字

qual_list = [6,6,7,8,10,14,13,5,5]

我想创建40个或更多的组(例如[6,14,7,13][6,8,10,5,13]),但关键是我想创建尽可能多的组。这个号码我只能用一次

我的想法是:

  1. 使用itertools.combinations选择2(可以有两个20)

  2. 然后通过combo_list循环查看元素的总和是否为>=40.

  3. qual_list中弹出元素以完成步骤2。

  4. 然后做同样的事情,但选择3。

  5. 重复步骤4.5、6,直到qual_list的和为<;40和代码停止

这似乎有很多循环,也不能确保我得到最大数量的组,因为这种方法会最后选择较小的数字,而在选择较小的选择时会抓住最大的数字

任何帮助都将不胜感激


Tags: gt元素列表步骤数字事情list关键