您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

按频率对计数器排序,然后在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'首先是因为它最频繁。其他所有内容均按字母顺序排序。

python 2022/1/1 18:45:58 有346人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶