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

How do I find the smallest difference between a given number and every element in a list in Python?

假设我有:

[1, 2, 3, 4]

和整数

6

我想将 6 与列表中的每个元素和 return 具有最小绝对值差异的元素进行比较,在本例中为 4。有有效的Numpy方法吗?

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

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

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