浅谈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 20 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
实例讲解Python的函数闭包使用中应注意的问题
Jun 20 Python
浅析Python3爬虫登录模拟
Feb 07 Python
python3编写ThinkPHP命令执行Getshell的方法
Feb 26 Python
Python面向对象之类的封装操作示例
Jun 08 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
Dec 03 Python
python默认参数调用方法解析
Feb 09 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 Python
python判断变量是否为列表的方法
Sep 17 Python
PyCharm 配置SSH和SFTP连接远程服务器
May 11 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字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
2017/06/13 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
Python模块的加载讲解
2019/01/15 Python
python获取地震信息 微信实时推送
2019/06/18 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
华为c/c++笔试题
2016/01/25 面试题
2014最新毕业证代领委托书
2014/09/26 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
辩护词范文大全
2015/05/21 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
宪法宣传标语100条
2019/10/15 职场文书
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技