多次查找排序列表中最接近数字的最快方法

时间:2019-03-20 21:45:35

标签: python-3.x performance

我有一段代码是对列表进行顺序搜索的,并且我必须不断地浏览一个大的排序列表并找到最接近的匹配值,我这样做了数千次。有没有一种更有效的方法来执行此搜索,对于该区域而言,节省少量时间将是巨大的。无论如何,我是否必须不断重复自己不知道的搜索这一事实呢?

搜索列表的部分如下所示:

import bisect

x = 2.6
myList = [1,2,3,4,5,6,7,8,9,10]



index = bisect.bisect_left(myList,x)

if len(myList) > index and abs(x-myList[index]) < abs(x-myList[index-1]):
    closestValue = myList[index]
else:
    ClosestValue = myList[index-1]

0 个答案:

没有答案