Путь должен проходить через промежуточные точки в заданном порядке или как угодно? Надо посетить все промежуточные точки, или можно пропускать их?
Это координаты в мире, т.е. путь строится по дорогам условным google maps? Или дело на плоскости, и можно проводить прямые?
В тегах вы указали "графы", может быть у вас есть произвольный граф на котором надо решить задачу?
Путь надо кратчайший, я так понимаю?
Судя по обсуждению под ответами, у вас есть важное ограничение - иерархическая структура логистики почтовых отделений. Нельзя из районного отделения новосибираска отправить посылку напрямую в районное отделение в архангельске - слишком много различных путей для посылок будет. Посылка должна идти через городской пункт, через областной в новосибирске, оттуда, скорее всего, через москву в сортировочный центр в арзангельской области.
list = [(0.0,1.1), (20.0,0.0) .....]
Для экваториальных измерений там обычнодля длины дуги меридиана, возможно, безразлично (насколько помню, там в пределах 10% различия), а вот длина дуги параллели меняется от 0 (прописью: от нуля!) точно на полюсе до примерно тех самых 111 км на экваторе, так что если пути не строго в направлении север -- юг, то искажение может быть от огромного в средних широтах до чудовищного ближе к полюсу.
1 градус был равен 111 километров. Для измерений ближе к полюсам там соотв надо делать поправку.
Впрочем для автора такое искривление возможно безразлично.
>>> max(s, key=lambda item: (item[0], -item[1]))
(64.552084, 40.571547)
>>> min(s, key=lambda item: (item[0], -item[1]))
(42.988296, 47.49984)