序列中元素出现次数最多

 1 '''
 2 序列中元素出现次数最多
 3 
 4 '''
 5 from random import randint
 6 from collections import Counter
 7 #随机生成一个序列在0-20之间生成30个元素
 8 data = [randint(0,20) for _ in range(30)]
 9 print(data)
10 #以序列的元素为Key,0为value生成一个字典
11 dictdata = dict.fromkeys(data,0)
12 print(dictdata)
13 #遍历序列中的元素,每重复一个,就在以当前元素为K值的字典中加1
14 for x in data:
15     dictdata[x] += 1
16 
17 print(dictdata)
18 #按出现次数的多少排序 方法1)
19 dictdata1 = sorted(dictdata.items(),key=lambda x:x[1],reverse = True)
20 print(dictdata1)
21 #按出现次数的多少排序 方法2)
22 dictdata2 = Counter(dictdata)
23 #Counter的most_common可以直接排序,有参数时表示排序前6位
24 dictdata3 = dictdata2.most_common(6)
25 print(dictdata3)

 

posted @ 2019-02-24 13:55  annier  阅读(243)  评论(0编辑  收藏  举报