Python 列表中最常出现的10个元素
考虑一个包含100个元素的列表。我想写一个代码来打印10个最常见的元素Python 列表中最常出现的10个元素,python,python-3.x,Python,Python 3.x,考虑一个包含100个元素的列表。我想写一个代码来打印10个最常见的元素 import itertools import operator def most_common(lst): return max(set(lst), key=lst.count) 这给了我第一个最常出现的元素。我想要10个最常见的对象。为了计算可散列对象的频率,计数器在python中非常有用: from collections import Counter my_list = ['a','b','c','a'
import itertools
import operator
def most_common(lst):
return max(set(lst), key=lst.count)
这给了我第一个最常出现的元素。我想要10个最常见的对象。为了计算可散列对象的频率,计数器在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))
输出
在您的例子中,您可以用所需的元素数10来替换most_公共函数参数中的3。这是一个IP地址列表,我想返回10个最常见的IP地址。另外,maxsetlst,key=lst。count是一个低效的算法。这只适用于哈希对象。@NotAnAmbiTurner OPs,在这种情况下,IP地址是可散列的字符串
[('a', 11), ('b', 5), ('c', 5)]