前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 统计次数,我的方法和高手的方法

Python 统计次数,我的方法和高手的方法

作者头像
kk大数据
发布2019-08-14 15:40:13
2.4K0
发布2019-08-14 15:40:13
举报
文章被收录于专栏:kk大数据kk大数据

统计一个序列中出现次数最多的元素,你能有几种方法?

第一种最原始的方法:

直接使用字典硬来

代码语言:javascript
复制
from random import randint
#首先生成一个20个数的随机序列
list = [ randint(1,20) for i in range(100) ]

#然后去统计数量,思路就是用一个字典记录每个数字出现的次数
numCount = {}
for num in list:
    if( num in numCount):
        numCount[num] = numCount[num]+1
    else:
        numCount[num]=1
print(numCount)
#排序
print(sorted(numCount.items(),key=lambda x : x[1],reverse=True))
list=sorted(numCount.items(),key=lambda x : x[1],reverse=True)
for i in range(3):
    print(list[i])

第二种,稍微简洁一点的方法

代码语言:javascript
复制
from random import randint
#创建一个序列
list=[randint(0,20) for _ in range(100)]
#用序列中的值作为键,0作为值生成一个字典
data=dict.fromkeys(list,0)
for x in list:
    data[x]+=1
#然后找到频数最高的三个数
result=sorted(data.items(),key=lambda x : x[1] ,reverse=True)
print(result)
result2=[]
for i in range(3):
    result2.insert(i,result[i])
print(result2)

第三种,高手的方法

代码语言:javascript
复制
from collections import Counter
from random import randint
#创建一个序列
list=[randint(0,20) for _ in range(100)]
#用Counter统计
c=Counter(list)
print(c)
#统计最高出现频度的结果
c2=c.most_common(3)
print(c2)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 KK架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档