擅长:python、mysql、java
<pre><code>def getBucketIdByValue(bucket, value):
distances = [( id , abs( number - value ) ) for id , number in bucket.items()]
swapped = [( distance , id ) for id , distance in distances]
minimum = min ( swapped )
return minimum[1]
</code></pre>
<p>或者简而言之:</p>
^{pr2}$
<p>这个函数使用bucket创建id/number对,然后创建distance/id对的迭代器,然后获取它的第一个最小值对,最后提取该对的id并返回它。在</p>
<p>距离被定义为数值与所求值之差的绝对值。在</p>
<p>最小值定义为距离最小的一对。如果有更多,则返回id最低的对。在</p>