浅谈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计算三维矢量幅度的方法
Jun 15 Python
python中使用序列的方法
Aug 03 Python
Python如何import文件夹下的文件(实现方法)
Jan 24 Python
PyQt5实现下载进度条效果
Apr 19 Python
Django如何配置mysql数据库
May 04 Python
使用Python处理BAM的方法
Sep 28 Python
Python的numpy库下的几个小函数的用法(小结)
Jul 12 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
Oct 27 Python
python根据字典的键来删除元素的方法
Aug 16 Python
浅谈Python描述数据结构之KMP篇
Sep 06 Python
Python中过滤字符串列表的方法
Dec 22 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
python使用psutil模块获取系统状态
2016/08/27 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
python for和else语句趣谈
2019/07/02 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
本科毕业生自我鉴定
2013/11/02 职场文书
蔬菜基地的创业计划书
2014/01/06 职场文书
美术指导助理求职信
2014/04/20 职场文书
班级口号大全
2014/06/09 职场文书
企业公益活动策划方案
2014/08/24 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS