blu*_*ers 0 rounding python-3.x
这里谈论Python 3。
我希望将数字四舍五入为一组给定的可能变化的值
假设value_set = [x, y, z]为了这个例子,x, y, z = 1, 3.12, 4我正在寻找一个函数,它将给定的浮点四舍五入到最接近的数字
custom_round(0) --> 1
custom_round(2.7) --> 3.12
请注意,它应该足够通用,value_set长度也会有所不同
x-n当键是(x 是列表中的每个项目)的绝对值时,您可以使用 min 函数来查找列表中的最小值。
value_set = [1, 3.12, 4]
def return_closest(n):
return min(value_set, key=lambda x:abs(x-n))
number_to_check = 3
print (return_closest(number_to_check))
>>> 3.12
Run Code Online (Sandbox Code Playgroud)