python - list-python 中出现次数最多的 10 个元素
问题描述
考虑一个包含 100 个元素的列表。我想编写一个代码来打印 10 个最常出现的元素。
import itertools
import operator
def most_common(lst):
return max(set(lst), key=lst.count)
这给了我第一个最常见的元素。我想要 10 个最常见的。
解决方案
对于计算可散列对象的频率,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。