gpt4 book ai didi

python - 从整数列表中,获取最接近给定值的数字

转载 作者:IT老高 更新时间:2023-10-28 12:30:00 26 4
gpt4 key购买 nike

给定一个整数列表,我想找出哪个数字最接近我在输入中给出的数字:

>>> myList = [4, 1, 88, 44, 3]
>>> myNumber = 5
>>> takeClosest(myList, myNumber)
...
4

有什么快速的方法吗?

最佳答案

如果我们不确定列表是否已排序,我们可以使用 built-in min() function , 找到与指定数字的距离最小的元素。

>>> min(myList, key=lambda x:abs(x-myNumber))
4

请注意,它也适用于带有 int 键的字典,例如 {1: "a", 2: "b"}。此方法需要 O(n) 时间。


如果列表已经排序,或者您可以为数组排序一次付出代价,请使用 @Lauritz's answer 中说明的二分法。这只需要 O(log n) 时间(但请注意,检查列表是否已经排序是 O(n) 并且排序是 O(n log n)。)

关于python - 从整数列表中,获取最接近给定值的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12141150/

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