оптимизация цикла Python в списках - PullRequest
0 голосов
/ 18 января 2019

У меня есть следующий цикл:

from tqdm import tqdm
for x in tqdm(data):

    min_distance = [maxsize, 0]
    for i, y in enumerate(data2):
        distance = haversine(float(y[0]),float(y[1]),float(x[10]),float(x[11]))
        if distance < min_distance[0]:
            min_distance = [distance, i]
    x.append(min_distance[1])

data - это список длиной 18 000, а data2 - список длиной 800 000, цикл проходит каждую широту, долготу в данных, вычисляет расстояние между этой точкой и всеми точками в data2 (поэтому одна точка в данных против 800 000 точек в data2 за итерацию цикла), используя формулу haversine, определенную ранее в скрипте, и добавляет индекс координат в data2, где происходит минимальное расстояние.

Проблема, с которой я столкнулся, заключается в том, что с помощью tqdm я могу отследить, где находится цикл, и приблизительное время его завершения, и у меня есть около 15 часов для завершения цикла. Я довольно новичок в программировании в целом и хотел бы знать, будут ли какие-нибудь методы, чтобы заставить код работать быстрее?

Любая помощь будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...