def pairs(coords, vertex_spacing):
    results = []
vsquared = vertex_spacing * vertex_spacing
coords = sorted(coords)
for ia, (xa, ya) in enumerate(coords):
    for ib, (xb, yb) in enumerate(coords[ia:]):
        dx = xb - xa
if dx > vertex_spacing:
    break
dy = yb - ya
if dx * dx + dy * dy == vsquared:
    results.append([(xa, ya), (xb, yb), ia, ia + ib])
return results
Эффективное манипулирование списком декартовых координат в Python