如何对列表进行排序,首先按项目的频率,然后按项目的值

时间:2019-06-03 20:24:45

标签: python python-3.x sorting frequency

我需要获取一个python数字列表,找到最常见的元素,但是如果有平局,我需要值最小的元素。例如,如果列表中最常见的元素是3和4之间的平局,则我需要获取值3,因为它是两者中较小的一个。

1 个答案:

答案 0 :(得分:2)

import collections

x = [2,4,3,2,6,4,4,4,3,3,3]

counts = collections.Counter(x)

new_list = sorted(x, key=lambda i: (-counts[i],i))

print(new_list[0])

输出:3

在那里,您的商品始终在new_list [0]