Как отсорировать вложенные кортежи с координатами по значениям координат?

Например, есть список с координатами двух точек на прямой, он отсортирован по возрастанию расстояния между точками.

a = [(-1, -3), (2, 3), (5, 9), (-4, 4)]

У координат (-1, -3) и (2, 3) расстояния между точками равны. Их необходимо отсортировать по возрастанию значения координаты первой точки, затем по возрастанию значения второй точки.

Т.е на выходе надо получить:

[(2, 3), (-1, -3), (5, 9), (-4, 4)]

Спасибо!


Ответы (1 шт):

Автор решения: Oopss
a = [(-1, -3), (2, 3), (5, 9), (-4, 4)]
b = sorted(a, key=lambda x:abs(x[1]-x[0]))
print(b)

[(2, 3), (-1, -3), (5, 9), (-4, 4)]
→ Ссылка