gpt4 book ai didi

python - 在 python 中查找另一个项目最接近列表中哪两个元素的最快方法

转载 作者:太空狗 更新时间:2023-10-30 00:29:52 24 4
gpt4 key购买 nike

输入是一个排序的元素列表和一个外部项。例如:

list_ = [0, 3.5, 5.8, 6.2, 88]
item = 4.4

找出 list_ item 中的哪两个元素介于两者之间的最快方法是什么?例如,在这种情况下,这两个数字将是 3.5 和 5.8。有什么想法吗?

最佳答案

由于输入已排序,您最好在算法上打赌是使用 bisect 模块——例如bisect_left

>>> list_ = [0, 3.5, 5.8, 6.2, 88]
>>> item = 4.4
>>> bisect.bisect_left(list_, item)
2

您想要的项目位于索引 bisect_left(list_, item)
bisect_left(list_, item) - 1

这应该会为您提供 O(logN) 次搜索的结果——从算法的角度来看,它并没有比这更好。

关于python - 在 python 中查找另一个项目最接近列表中哪两个元素的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22854910/

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