查找最接近列表目标和的数字

Macterror

我有如下代码片段:

import itertools
numbers = [352.07, 15.20, 15.22, 2505.71, 2050.86, 
337.86, 833.90, 314.83]
result = [seq for i in range(len(numbers), 0, -1) for seq in itertools.combinations(numbers, i) if sum(seq) == 2842.77]
print(result)

从本质上讲,它使用itertool库获取数字列表,并尝试查找将哪些数字加起来求和(在本示例中为2842.77)。但是,在这种情况下,列表中的所有数字都不会实际加到目标数字上。

是否可以添加任何代码,以便在不存在完全匹配的情况下将CLOSEST编号设为目标编号?在此示例中,我正在寻找要吐出的控制台:

(2505.71,337.86),最接近的数字:2843.57

谢谢!

冠军

您可以使用min()来获得总和与目标之间的绝对差最小的序列,例如,使用key参数to min()

import itertools as it

# From itertools recipes
def powerset(iterable):
    "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
    s = list(iterable)
    return it.chain.from_iterable(it.combinations(s, r) for r in range(len(s)+1))

In []:
target = 2842.77
result = min(powerset(numbers), key=lambda seq: abs(sum(seq)-target))
result

Out[]:
(2505.71, 337.86)

In []:
sum(result)

Out[]:
2843.57

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从两个数组列表中查找最接近的数字

来自分类Dev

从两个数组列表中查找最接近的数字

来自分类Dev

查找最接近0的数字

来自分类Dev

找出列表中最接近的较高数字和最接近的较低数字的差值

来自分类Dev

查找数组中最接近的较高和较低的数字

来自分类Dev

查找与数字中最接近的因子

来自分类Dev

在字典中查找数字的最接近的下键

来自分类Dev

在数字列表中查找数字对最接近的匹配项的算法

来自分类Dev

从颜色列表中查找最接近的颜色

来自分类Dev

给定一个浮点数,查找列表中还是最接近的数字

来自分类Dev

查找最接近的输入和设置值

来自分类Dev

查找与给定数字最接近的k个数字

来自分类Dev

查找大于当前数字的最接近数字的索引

来自分类Dev

查找与给定数字最接近的数字总和

来自分类Dev

查找最接近特定数字的数字总和

来自分类Dev

在列表中找到与给定数字最接近的较小和较大值的最佳方法是什么

来自分类Dev

在两个数组中查找最接近的数字

来自分类Dev

在整数数组中查找最接近的数字

来自分类Dev

在两个数组中查找最接近的数字

来自分类Dev

SQL:通过关系查找最接近给定值的数字

来自分类Dev

在圆形数组中查找最接近的数字

来自分类Dev

MySQL - 在数字范围内查找最接近的匹配

来自分类Dev

jQuery查找和最接近无法找到最接近的输入字段

来自分类Dev

在日期时间列表中查找最接近的日期

来自分类Dev

在字典键列表中查找最接近的值Python

来自分类Dev

优化在值列表中查找最接近的值

来自分类Dev

在日期列表中查找最接近的过去日期

来自分类Dev

从列表中查找最接近的字符串匹配

来自分类Dev

使用linq在C#的列表中查找最接近的值?

Related 相关文章

  1. 1

    从两个数组列表中查找最接近的数字

  2. 2

    从两个数组列表中查找最接近的数字

  3. 3

    查找最接近0的数字

  4. 4

    找出列表中最接近的较高数字和最接近的较低数字的差值

  5. 5

    查找数组中最接近的较高和较低的数字

  6. 6

    查找与数字中最接近的因子

  7. 7

    在字典中查找数字的最接近的下键

  8. 8

    在数字列表中查找数字对最接近的匹配项的算法

  9. 9

    从颜色列表中查找最接近的颜色

  10. 10

    给定一个浮点数,查找列表中还是最接近的数字

  11. 11

    查找最接近的输入和设置值

  12. 12

    查找与给定数字最接近的k个数字

  13. 13

    查找大于当前数字的最接近数字的索引

  14. 14

    查找与给定数字最接近的数字总和

  15. 15

    查找最接近特定数字的数字总和

  16. 16

    在列表中找到与给定数字最接近的较小和较大值的最佳方法是什么

  17. 17

    在两个数组中查找最接近的数字

  18. 18

    在整数数组中查找最接近的数字

  19. 19

    在两个数组中查找最接近的数字

  20. 20

    SQL:通过关系查找最接近给定值的数字

  21. 21

    在圆形数组中查找最接近的数字

  22. 22

    MySQL - 在数字范围内查找最接近的匹配

  23. 23

    jQuery查找和最接近无法找到最接近的输入字段

  24. 24

    在日期时间列表中查找最接近的日期

  25. 25

    在字典键列表中查找最接近的值Python

  26. 26

    优化在值列表中查找最接近的值

  27. 27

    在日期列表中查找最接近的过去日期

  28. 28

    从列表中查找最接近的字符串匹配

  29. 29

    使用linq在C#的列表中查找最接近的值?

热门标签

归档