python每日小练0009

问题

怎样找出一个序列中出现次数最多的元素?

解决

 好吧,又是collections库...附一篇廖雪峰老师总结的python中collections库的说明https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001411031239400f7181f65f33a4623bc42276a605debf6000.使用collections库中的Counter对象可以方便的求出现次数最多的前N个元素

直接使用most_common成员函数就好了,例如:

 

总结:

Counter对象是dict的子类,事实上内部存储也是按照k-v字典存储的,这里的v就是次数,所以Counter对象支持dict对象的所有操作

1.每一个Counter对象初始化可以接受可迭代对象(iterable)、字典、关键字参数

2.Counter对象还支持数学操作

注:

c & d                       # intersection:  min(c[x], d[x]
c | d                       # union:  max(c[x], d[x])
#  下面的例子说明了创建Counter的四种方法
c = Counter()       #  可以创建一个空的Counter类

c = Counter('gallahad')   #  可以从一个可迭代literal类(list ,tuple ,dict,字符串)创建

c = Counter({'red': 4, 'blue': 2})   #  可以创建一个字典

c = Counter(cats=4, dogs=8)          #  可以从一组值键中创建

附一篇counter的详细解释:http://www.pythoner.com/205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值