有一个电压列表,我需要找到最接近的数字
第一个月
我想匹配到最接近的最小数字,所以我有下面的函数
def close_vol(list,K):
return list[min(range(len(list)), key = lambda i: abs(list[i]-K))]
但是,该函数将返回最接近的值,而不是最低的值。
当我设置K = 11.70close_vol(voltage_map,11.70)
时,它匹配11.75,而我期望它向下舍入到11.65
当我设置K = 11.84 close_vol(voltage_map,11.84)
时,它匹配11.85,我希望它向下舍入到11.75
任何人都知道我应该在上面的函数中添加什么?
2条答案
按热度按时间mrfwxfqh1#
您可以使用bisect module来发现给定的
k
在voltage_map
中的位置:请注意,在此代码中,任何福尔斯给定电压范围的
k
都将发送到最近的电压范围端点。toe950272#
我想你是想找到低于输入值的最接近的电压?
假设
voltages
是屏幕截图中的电压列表,您可以执行以下操作