我正在尝试使用计数器按出现次数对字母进行排序,并将任何具有相同频率的字母按字母顺序排列,但我无法访问它生成的字典的值。
letter_count = collections.Counter("alphabet")
print(letter_count)
产生:
Counter({'a': 2, 'l': 1, 't': 1, 'p': 1, 'h': 1, 'e': 1, 'b': 1})
我怎样才能让它按频率排序,然后按字母顺序排列,所以只出现一次的所有东西都是按字母顺序排列的?
原文由 iFunction 发布,翻译遵循 CC BY-SA 4.0 许可协议
听起来您的问题是如何按频率对整个列表进行排序,然后按字母顺序打破平局。您可以像这样对 整个列表 进行排序:
如果您希望输出仍然是字典,您可以将其转换为
collections.OrderedDict
:如您所见,这保留了顺序。
'a'
是第一个,因为它最常见。其他一切都按字母顺序排序。