Общий способ сортировки по нескольким свойствам состоит в том, чтобы иметь ключевую функцию, которая возвращает кортеж.Это работает, потому что Python сортирует кортежи слева направо, поэтому кажется, что вы пытаетесь это сделать
>>> L=(0, (81.0, 5.0, 83.0)), (1, (81.0, 1.0, 26.0)), (2, (80.0, 1.0, 44.0)),
>>> sorted(L, key=lambda x:(x[1][0],x[1][1]))
[(2, (80.0, 1.0, 44.0)), (1, (81.0, 1.0, 26.0)), (0, (81.0, 5.0, 83.0))]
Поскольку порядок полей, по которым вы хотите отсортировать, совпадает с порядком в кортеже, вы можете упростить до этого
>>> sorted(L, key=lambda x:x[1])
[(2, (80.0, 1.0, 44.0)), (1, (81.0, 1.0, 26.0)), (0, (81.0, 5.0, 83.0))]
, который возвращает вас просто
>>> sorted(L, key=itemgetter(1))
[(2, (80.0, 1.0, 44.0)), (1, (81.0, 1.0, 26.0)), (0, (81.0, 5.0, 83.0))]
Но, надеюсь, теперь вы можете понять, почему эта делает сортировку элементов взаказ, который вы желаете