from math import sqrt
def func_euclid_dist(x,y,x1,y1):
dx_sq=(x-x1)**2
dy_sq=(y-y1)**2
ed = sqrt(dx_sq+dy_sq)
return ed
distances=[]
for i, (x,y) in enumerate(first_list_of_point_xy_coords):
distances.append([])
for j, (x1,y1) in enumerate(second_list_of_point_xy_coords):
distances[i].append(func_euclid_dist(x,y,x1,y1))
1条答案
按热度按时间e5nqia271#
简单来说,就是毕达哥拉斯定理的一个应用,h = √(a2 + b2)
这将产生包含从第一列表中的每个点到第二列表中的每个其他点的距离的2-d数组。
如果第一个列表只包含一个点,这不是问题。
或者,存在许多工具,其中一个选项是numpy.linalg.norm函数,如下所示:How can the Euclidean distance be calculated with NumPy?