浅谈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 测试实现方法
Dec 24 Python
Python基于twisted实现简单的web服务器
Sep 29 Python
python数据预处理之将类别数据转换为数值的方法
Jul 05 Python
python检索特定内容的文本文件实例
Jun 05 Python
python库lxml在linux和WIN系统下的安装
Jun 24 Python
python处理两种分隔符的数据集方法
Dec 12 Python
flask框架单元测试原理与用法实例分析
Jul 23 Python
详解用python生成随机数的几种方法
Aug 04 Python
Python正则表达式急速入门(小结)
Dec 16 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
python opencv实现简易画图板
Aug 27 Python
Python实现视频自动打码的示例代码
Apr 08 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中设置index.php文件为只读的方法
2013/02/06 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python下的subprocess模块的入门指引
2015/04/16 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
python实现简单五子棋游戏
2019/06/18 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
运动会广播稿400字
2014/01/25 职场文书
幼儿教师国培感言
2014/02/19 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书