python学习--统计序列中元素出现的频度,次数

例如有一个列表

l=[1,1,-1,2,3,22,34,32,2,-3,34,22,-5]

统计列表中每个元素出现的多少次

方式一:

先把列表变成一个字典dict,字典的key对应列表中的每一个元素,value代表每个元素出现的次数

d=dict.fromkeys(l,0)#两个参数,第一个参数为对应的列表,第二个参数设置dict的默认value=0.

然后,遍历列表中每一个元素,dict中碰到该元素,value就加1.

for x in l:

  d[x]+=1

print(d)

方式二:

利用集合的Counter子类。

from collections import Counter

c=Counter(l)#直接把列表l传入Counter,返回一个dict,这个dict中的key对应集合中的每一个元素,value代表这个元素在集合中出现的次数

print(c.most_common(3))#Counter类的most_common()方法返回一个value从大到小的列表,返回n个最常见元素的列表及其数量。