gpt4 book ai didi

python - 找到给定数字上方和下方最接近的元素

转载 作者:太空狗 更新时间:2023-10-30 00:23:22 32 4
gpt4 key购买 nike

myArr = array([4,1,88,44,3])
myNumber = 25
FindClosest(myArr, myNumber)
...
4, 44

有什么方法可以找到列表中最接近给定数字的 2 个数字,其中一个较大,另一个较小?

我可以通过以下方式找到最接近的数字:

min(myArr.tolist(), key=lambda x:abs(x-myNumber))

最佳答案

排序不是必需的,它使这个时间复杂度为 O(n logn),而它应该只是 O(n)。

我相信这就是您正在寻找的,利用 numpy 数组索引:

>>> # the smallest element of myArr greater than myNumber
>>> myArr[myArr > myNumber].min()
44

>>> # the largest element of myArr less than myNumber
>>> myArr[myArr < myNumber].max()
4

关于python - 找到给定数字上方和下方最接近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36275459/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com