numpyを使う
# -*- coding: utf-8 -*-
import numpy as np
def getNearestValue(list, num):
idx = np.abs(np.asarray(list) - num).argmin()
return list[idx]
# 辞書
d = {}
d[0.743722677230835] = 'value1'
d[0.9442239999771118] = 'value2'
d[0.8997899889945984] = 'value3'
print(d)
# リスト
list = []
list.append(0.743722677230835)
list.append(0.9442239999771118)
list.append(0.8997899889945984)
# 最も近い数字
nearest = getNearestValue(list, 0.9602155685424805)
# 最も近い数字のvalue
print(nearest)
print(d[nearest])
$ python3 test.py
{0.743722677230835: ‘value1’, 0.9442239999771118: ‘value2’, 0.8997899889945984: ‘value3’}
0.9442239999771118
value2
やりたいことはできた。
これをNLPでやる。