浅谈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 相关文章推荐
pygame学习笔记(4):声音控制
Apr 15 Python
Python实现字符串格式化的方法小结
Feb 20 Python
用Python将IP地址在整型和字符串之间轻松转换
Mar 22 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
Python进程间通信之共享内存详解
Oct 30 Python
python2.7实现爬虫网页数据
May 25 Python
python分割一个文本为多个文本的方法
Jul 22 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
Django REST framework 单元测试实例解析
Nov 07 Python
python绘制随机网络图形示例
Nov 21 Python
Pytorch 卷积中的 Input Shape用法
Jun 29 Python
python中的yield from语法快速学习
Nov 06 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入门的学习方法
2007/01/02 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
JS验证码实现代码
2017/09/14 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
vue之浏览器存储方法封装实例
2018/03/15 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
python的Jenkins接口调用方式
2020/05/12 Python
python定义类的简单用法
2020/07/24 Python
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
PHP如何删除一个Cookie值
2012/11/15 面试题
社区娱乐活动方案
2014/08/21 职场文书
教师党员个人自我评价
2015/03/04 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS