从一个随机序列中,找到出现次数最高的3个元素,它们出现次数是多少?
- 字典解决
from random import randint
d = dict.fromkeys(data, 0)
for x in data:
d[x] += 1
res = sorted(c.items(),key= lambda x:x[1],reverse=True)
for x in range(3):
print(res[x])
- 使用collections中Counter对象
from collections import Counter
c2 = Counter(data)#一个字典与上面的d相同,只是已经统计好词频
res = c2.most_common(3)#most_common返回频度最高的n个元素
print(res)
一篇英文文章统计词频最高的几个单词
-
c = Counter(re.split('\W+',txt))
,首先导入Counter模块和正则模块,然后根据非字母和下划线来分割,得到一个单词的列表,传给Counter后得到词频字典 - 使用most_common(n)获取