按字母顺序排列具有相同计数的元素

stf*_*321 6 python counter python-collections

Python Collection Counter.most_common(n)方法返回前n个元素及其计数。但是,如果两个元素的计数相同,如何返回按字母顺序排序的结果?

例如:对于像这样的字符串BBBAAACCD,对于“最常见的2个”元素,我希望结果是指定的n = 2

[('A', 3), ('B', 3), ('C', 2)]
Run Code Online (Sandbox Code Playgroud)

并不是:

[('B', 3), ('A', 3), ('C', 2)]
Run Code Online (Sandbox Code Playgroud)

请注意,虽然AB具有相同的频率,A来之前B,因为它到来之前在结果列表中B按字母顺序排列。

[('A', 3), ('B', 3), ('C', 2)]
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

voi*_*pro -2

from collections import Counter
print(sorted(Counter('AAABBBCCD').most_common(3)))
Run Code Online (Sandbox Code Playgroud)

这个问题似乎是重复的 How to sort Counter by value? - Python