如何在列表中找到最常出现的元素

时间:2019-07-03 12:05:22

标签: python python-3.6

我有一个名字列表

说,

list = ['Tommy','john','john','Tommy','Rob']

现在通过使用collections.Counter,我可以获取每个元素发生的次数,但是在这种情况下,我让Tommy发生了2次,john发生了2次。由于这两个元素的出现次数最多,因此我希望将它们打印出来。如何实现?

如果任何元素的频率相同,如何按字母顺序打印它们?

我尝试过使用counter = collections.Counter(list)来获得这样的字典。但是我不想打劫。

 Counter({'tommy': 2, 'john': 2, 'rob': 1})

我也使用了Counter.most_common(0)。 在这种情况下,它给出Tommy :2。因为它将tommy的索引设为0,并打印出现次数最高的元素中索引最低的元素。

我希望能够在一般的测试用例中运行代码,在这种情况下,许多名称可能以相同的频率出现。

预期输出必须按以下顺序(字母顺序):

john : 2
tommy: 2

(因为这两个元素是发生最大次数的元素!)

0 个答案:

没有答案