python统计频数_Python 统计次数,我的方法和高手的方法

本文介绍了三种在Python中统计序列元素频数的方法,包括使用字典、fromkeys()函数和collections.Counter。通过示例代码展示了每种方法的实现,并比较了它们的简洁性和效率,最后展示了如何获取出现频次最高的元素。
摘要由CSDN通过智能技术生成

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

第一种最原始的方法:

直接使用字典硬来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])

第二种,稍微简洁一点的方法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] ,reve

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值