我有一个坐标列表 (x,y)。
计算每个坐标之间距离的最有效方法是什么?
到目前为止,我似乎必须做类似的事情:
for coord1 in coordinates:
for coord2 in coordinates:
if (not_already_done_(coord1,coord2)):
dist = math.hypot(coord2.x - coord1.x, coord2.y - coord1.y)
save_dist(dist,coord1,coord2)
没有更快的方法吗?或者至少有更好的写法吗?
请您参考如下方法:
from math import hypot
from itertools import combinations
coordinates = [(1, 1), (2, 2), (-2, 5)]
distances = {(a,b): hypot(a[0] - b[0], a[1] - b[1])
for a, b in combinations(coordinates, 2)}
