浅谈python中统计计数的几种方法和Counter详解


Posted in Python onNovember 07, 2019

1) 使用字典dict()

循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1.

lists = ['a','a','b',5,6,7,5]
  count_dict = dict()
  for item in lists:
   if item in count_dict:
    count_dict[item] += 1
   else:
    count_dict[item] = 1

2) 使用defaultdict()

defaultdict(parameter)可以接受一个类型参数,如str,int等,但传递进来的类型参数,不是用来约束值的类型,更不是约束键的类型,而是当键不存在的话,实现一种值的初始化

defaultdict(int):初始化为 0

defaultdict(float):初始化为 0.0

defaultdict(str):初始化为 ”

from collections import defaultdict
  lists = ['a', 'a', 'b', 5, 6, 7, 5]
  count_dict = defaultdict(int)
  for item in lists:
   count_dict[item] += 1

3) 使用集合(set)和列表(list)

先使用set去重,然后循环的把每一个元素和每一个元素对应的次数lists.count(item)组成一个元组放在列表里面

lists = ['a', 'a', 'b', 5, 6, 7, 5]
count_set = set(lists)
count_list = list()
for item in count_set:
 count_list.append((item,lists.count(item))

4) 使用Counter

Counter是一个容器对象,主要的作用是用来统计散列对象,可以使用三种方式来初始化

参数里面参数可迭代对象 Counter("success")

传入关键字参数Counter((s=3,c=2,e=1,u=1))

传入字典 Counter({"s":3,"c"=2,"e"=1,"u"=1})

Counter()对象还有几个可以调用的方法,代码里面分别进行了说明

from collections import Counter
lists = ['a', 'a', 'b', 5, 6, 7, 5]
a = Counter(lists)
print(a) # Counter({'a': 2, 5: 2, 'b': 1, 6: 1, 7: 1})
a.elements() # 获取a中所有的键,返回的是一个对象,我们可以通过list来转化它
a.most_common(2) # 前两个出现频率最高的元素已经他们的次数,返回的是列表里面嵌套元组
a['zz'] # 访问不存在的时候,默认返回0
a.update("aa5bzz") # 更新被统计的对象,即原有的计数值与新增的相加,而不是替换
a.subtrct("aaa5z") # 实现与原有的计数值相减,结果运行为0和负值

以上这篇浅谈python中统计计数的几种方法和Counter详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python类定义和类继承详解
May 08 Python
改进Django中的表单的简单方法
Jul 17 Python
关于python pyqt5安装失败问题的解决方法
Aug 08 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Python断言assert的用法代码解析
Feb 03 Python
django中ORM模型常用的字段的使用方法
Mar 05 Python
Python minidom模块用法示例【DOM写入和解析XML】
Mar 25 Python
django-rest-swagger的优化使用方法
Aug 29 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
Feb 04 Python
Python中bisect的用法及示例详解
Jul 20 Python
python 深度学习中的4种激活函数
Sep 18 Python
python IP地址转整数
Nov 20 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 #Python
Flask框架路由和视图用法实例分析
Nov 07 #Python
Python 切分数组实例解析
Nov 07 #Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 #Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 #Python
Django框架ORM数据库操作实例详解
Nov 07 #Python
Python程序暂停的正常处理方法
Nov 07 #Python
You might like
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
JavaScript 常用函数
2009/12/30 Javascript
jquery提升性能最佳实践小结
2010/12/06 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
python适合人工智能的理由和优势
2019/06/28 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
经理管理专业自荐信范文
2013/12/31 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
医院志愿者活动总结
2015/05/06 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS
python Tkinter模块使用方法详解
2022/04/07 Python
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS