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)