与えられた値に最も近い値を計算する方法はたくさんありますがmin()
、key
パラメータの関数は次のようになります。
In [1]: num = [1, 88, 44, 8, 4, -2, 3]
In [2]: min(num, key=lambda x: abs(x-40))
Out[2]: 44
コアアルゴリズムを関数としてカプセル化する
def take_closest(num, collection):
return min(collection, key=lambda x:abs(x-num))