我有以下循环:
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中的点使用先前在脚本中定义的Haversine公式,并在循环中的最小距离处附加data2中坐标的索引。
我遇到的问题是,通过使用tqdm,我可以跟踪循环的进行位置以及估计的完成时间,而我大约需要15个小时才能完成循环。我通常对编程还不熟悉,所以想知道是否有任何方法可以使代码运行更快?
任何帮助将不胜感激!