给定l = [ [3,4,5], [30,40,50], [300,400,500] ]
和一个数字 45
foo(l, 45)
应该返回 [30,40,50] 因为它的平均值最接近 45。
编写这样一个函数“foo”的好方法是什么?
编辑 :
这是我的代码..(尚未测试)
def _avg(l):
return reduce(lambda x,y: x+y, l)/len(l)
def foo(clusters, point):
return min(clusters, key=lambda x: abs( _avg(x) - point) )