按频率对计数器排序,然后在Python中按字母顺序排序

按频率对计数器排序,然后在Python中按字母顺序排序,第1张

按频率对计数器排序,然后在Python中按字母顺序排序

听起来您的问题是如何按频率对整个列表进行排序,然后按字母顺序打破平局。您可以像这样对 整个列表 进行排序:

>>> a = sorted(letter_count.items(), key=lambda item: (-item[1], item[0]))>>> print(a)# [('a', 2), ('b', 1), ('e', 1), ('h', 1), ('l', 1), ('p', 1), ('t', 1)]

如果您希望输出仍然是字典,则可以将其转换为

collections.OrderedDict

>>> collections.OrderedDict(a)# OrderedDict([('a', 2),#   ('b', 1),#   ('e', 1),#   ('h', 1),#   ('l', 1),#   ('p', 1),#   ('t', 1)])

如您所见,这将保留顺序。

'a'
首先是因为它最频繁。其他所有内容均按字母顺序排序。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存