Good point. I&#x27;m not sure off the top of my head if Shapely has a specific function for what you&#x27;re trying to do. It does have highly-optimized distance functions though. Might be interesting to compare those to your version.<p>One way I&#x27;ve approached this problem that seems pretty fast is to load a set of points into a PostGIS-enabled database, then use the `ST_Distance` function and order by distance.<p>[Edit]<p>Shapely solution:<p><pre><code>    points = MultiPoint(((0, 0), (1, 1), (4, 4)))
    point = Point((3, 3))
    sorted(((p, p.distance(point)) for p in points), key=lambda item: item[1])</code></pre>