Самый быстрый способ найти ближайший номер в отсортированном списке много раз - PullRequest
0 голосов
/ 21 марта 2019

У меня есть фрагмент кода, который представляет собой последовательность поиска в списке, и мне приходится постоянно просматривать большой отсортированный список и находить наиболее подходящие значения, и я делаю это несколько тысяч раз. Есть ли более эффективный способ выполнить этот поиск, небольшая экономия времени будет огромной для этой области. Можно ли в любом случае воспользоваться тем, что мне придется постоянно повторять этот поиск, о котором я не знаю?

Секция, которая ищет список, будет выглядеть так:

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...