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

按频率排序列表

按频率排序列表

我认为这对于A来说将是一项好工作collections.Counter

counts = collections.Counter(lst)
new_list = sorted(lst, key=lambda x: -counts[x])

或者,您可以写第二行而不使用lambda:

counts = collections.Counter(lst)
new_list = sorted(lst, key=counts.get, reverse=True)

如果您有多个具有相同频率的元素 并且 您希望这些元素保持分组状态,那么我们可以通过更改排序键以不仅包括计数,还包括 来做到这一点:

counts = collections.Counter(lst)
new_list = sorted(lst, key=lambda x: (counts[x], x), reverse=True)
其他 2022/1/1 18:42:59 有300人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

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

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

请先登录

推荐问题


联系我
置顶