首页 > 解决方案 > list-python 中出现次数最多的 10 个元素

问题描述

考虑一个包含 100 个元素的列表。我想编写一个代码来打印 10 个最常出现的元素。

import itertools
import operator

def most_common(lst):
    return max(set(lst), key=lst.count)

这给了我第一个最常见的元素。我想要 10 个最常见的。

标签: pythonpython-3.x

解决方案


对于计算可散列对象的频率,Counter 在 python 中非常有用:

from collections import Counter

my_list = ['a','b','c','a','a','b','c','a','a','a','a','a','a','a','a','b','c','b','c','b','c','d','d','d','d','d']

freqs= Counter(my_list)
print(freqs.most_common(3))

输出

[('a', 11), ('b', 5), ('c', 5)]

在您的情况下,您可以将 most_common() 函数的参数中的 3 替换为所需的元素数量,即 10。


推荐阅读