Счетчик: упорядочивающие элементы с одинаковым количеством отсчетов

В документах указано, что для collections.Counter.most_common(),

элементы с равным числом отсчетов упорядочены произвольно.

Я заинтересован в сжатом способе упорядочивать сначала по частоте/значению по убыванию (по умолчанию), но потом второму по ключу, по возрастанию. (Ключ - это только 0-й элемент каждого набора из .most_common().)

Пример:

from collections import Counter
arr1 = [1, 1, 1, 2, 2, 3, 3, 3, 5]
arr2 = [3, 3, 3, 1, 1, 1, 2, 2, 5]  # Same values, different order

print(Counter(arr1).most_common())
print(Counter(arr2).most_common())
# [(1, 3), (3, 3), (2, 2), (5, 1)]
# [(3, 3), (1, 3), (2, 2), (5, 1)]

Желаемый результат (для arr2 и arr2):

[(1, 3), (3, 3), (2, 2), (5, 1)]

Ответ 1

Просто отсортируйте его соответствующим образом:

sorted(Counter(arr2).most_common(), key=lambda x: (-x[1], x[0]))