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でやる。