Pythonでlistから最も近い数字を抽出し、辞書の値をprint

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