浅谈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多进程编程技术实例分析
Sep 16 Python
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
详解Python中的相对导入和绝对导入
Jan 06 Python
pandas通过loc生成新的列方法
Nov 28 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 Python
pyqt 实现为长内容添加滑轮 scrollArea
Jun 19 Python
Python利用WMI实现ping命令的例子
Aug 14 Python
python实现复制大量文件功能
Aug 31 Python
Python Flask框架实现简单加法工具过程解析
Jun 03 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
Sep 15 Python
pycharm-professional-2020.1下载与激活的教程
Sep 21 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预定义常量
2006/12/25 PHP
php模块memcache和memcached区别分析
2011/06/14 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
Python爬虫中urllib库的进阶学习
2018/01/05 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
python进程和线程用法知识点总结
2019/05/28 Python
pymysql 开启调试模式的实现
2019/09/24 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
python logging 日志的级别调整方式
2020/02/21 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
python从PDF中提取数据的示例
2020/10/30 Python
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
2020/11/16 HTML / CSS
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
电子工程专业毕业生求职信
2014/03/14 职场文书
关于护士节的演讲稿
2014/05/26 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
长城导游词400字
2015/01/30 职场文书
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
python3操作redis实现List列表实例
2021/08/04 Python
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题