如何在Python中找到列表中给定数字和每个元素之间的最小差异?

时间:2017-10-15 02:58:54

标签: python list numpy subtraction

说我有:

[1, 2, 3, 4]

和整数

6

我想将6与列表中的每个元素进行比较,并返回具有最小绝对值差异的元素,在本例中为4。是否有一种有效的Numpy方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以在绝对差异上使用argmin来提取索引,然后可以使用该索引来提取元素:

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

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