Jak mogę sortować krotki przez odwracanie, ale łamać wiązania bez odwrotu? (Pyton)

Jeśli mam listę krotek:

results = [('10', 'Mary'), ('9', 'John'), ('10', 'George'), ('9', 'Frank'), ('9', 'Adam')]

Jak mogę posortować listę tak, jak widać to na tablicy wyników - tak, że posortuje wynik z największego na najmniejszy, ale zrywa alfabetycznie według nazwy?

Po sortowaniu lista powinna wyglądać następująco:

results = [('10', 'George'), ('10', 'Mary'), ('9', 'Adam'), ('9', 'Frank'), ('9', 'John')]

W tej chwili wszystko, co mogę zrobić, toresults.sort(reverse=True), ale łamie krawędzie odwrotnie alfabetycznie ...

Każda pomoc byłaby bardzo mile widziana. Dzięki!

questionAnswers(4)

yourAnswerToTheQuestion