У меня есть фрагмент кода, который представляет собой последовательность поиска в списке, и мне приходится постоянно просматривать большой отсортированный список и находить наиболее подходящие значения, и я делаю это несколько тысяч раз. Есть ли более эффективный способ выполнить этот поиск, небольшая экономия времени будет огромной для этой области. Можно ли в любом случае воспользоваться тем, что мне придется постоянно повторять этот поиск, о котором я не знаю?
Секция, которая ищет список, будет выглядеть так:
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]