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)
请注意,虽然A与B具有相同的频率,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