2017-10-15 6 views
2

は、私が持っていると言う:Pythonでリスト内の特定の数字とすべての要素の最小の差異を見つけるにはどうすればよいですか?

[1, 2, 3, 4]

と整数

6

私は、リスト内のすべての要素で6を比較し、その中で最も小さい絶対値の差を持つ要素を返すようにしたいですこのケースは4です。効率的なNumpyの方法がありますか?

+2

FWIW、平野Pythonでは、あなたは '分(LST、キー=ラムダを行うことができますu:abs(u-6)) ' –

答えて

2

あなたはその要素を抽出するために使用することができ、インデックスを抽出するために絶対的な差にargminを使用することができます。

a = np.array([1, 2, 3, 4]) 

a[np.abs(a - 6).argmin()] 
# 4 
+0

どのようにしてその4のインデックスを取得できますか? – dirtysocks45

+0

'np.abs(a - 6).argmin()'は最小の差の指標を与えるべきです。 – Psidom

関連する問題