collections系列之Counter
collections模块中有一个叫做Counter的类,该类的作用就是计数器,Counter是对dict的加工,所有Counter继承了dict的方法
1、创建一个Counter,需要import collections库,通过collections库创建Counter,主要的功能就是统计每个元素出现的次数
import collections
obj = collections.Counter("adalfjklajflkajfklejlasdkfjaklfjlkasfja")
print(obj)
# Counter({'a': 8, 'l': 7, 'j': 7, 'f': 6, 'k': 6, 'd': 2, 's': 2, 'e': 1})
l1 = ["ada","ada","cc"]
obj = collections.Counter(l1)
print(obj)
# Counter({'ada': 2, 'cc': 1})
2、Counter的另外一个方法就是most_common,可以指定统计出出现次数排名前X的元素,出现的次数从大到小排列,比如下面的例子,只统计出现次数最多的前3个元素
obj = collections.Counter("adalfjklajflkajfklejlasdkfjaklfjlkasfja")
print(obj)
ret = obj.most_common(3)
print(ret)
# [('a', 8), ('l', 7), ('j', 7)]
3、elements方法,可以列出Counter对象中的每一个元素
l1 = ["ada","ada","cc"]
obj = collections.Counter(l1)
print(obj)
for i in obj.elements():
print(i) # ada
# ada
# cc
4、update方法,可以增加Counter对象中的内容
l1 = ["ada","ada","cc"]
obj = collections.Counter(l1)
print(obj)
# Counter({'ada': 2, 'cc': 1})
l2 =["cc","add","ada",1]
obj.update(l2)
print(obj)
# Counter({'ada': 3, 'cc': 2, 'add': 1, 1: 1})
5、subtract方法,可以减少Counter对象中的内容,可以看到如果减少的元素在Counter中没有,则该元素的值为-1
l1 = ["ada","ada","cc"]
l2 =["cc","add","ada",1]
obj = collections.Counter(l1)
print(obj)
# Counter({'ada': 2, 'cc': 1})
obj.subtract(l2)
print(obj)
# Counter({'ada': 1, 'cc': 0, 'add': -1, 1: -1})
collections系列之Counter的更多相关文章
- Python 第三篇(下):collections系列、集合(set)、单双队列、深浅copy、内置函数
一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在py ...
- python递归、collections系列以及文件操作进阶
global log 127.0.0.1 local2 daemon maxconn log 127.0.0.1 local2 info defaults log global mode http t ...
- Python之set集合与collections系列
1>set集合:是一个无序且不重复的元素集合:访问速度快,解决了重复的问题: s2 = set(["che","liu","haha" ...
- python之路(二)-collections系列
collections提供了一些比较方便的方法,使用时需要先导入模块 导入模块: import collections 1. 计数器Counter 统计参数中出现的次数,以字典的方式返回结果,参数可以 ...
- python3 开发面试题(collections中的Counter)6.7
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...
- collections系列之OrderedDict【有序字典】与DefaultDict【默认字典】
今天来向大家介绍一下collections系列中的OrderedDict和DefaultDict,这两种类均是通过collections来创建的,均是对dict字典加工,所有都继承了dict字典的方法 ...
- Python标准库——collections模块的Counter类
1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...
- Python中模块之collections系列
collection系列功能介绍 1. 常用的集中类 1. Counter(计数器) 计数器的常用方法如下: 创建一个字典计数器 格式:collections.Counter(obj) 例如:prin ...
- collections系列
一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 c = Counter('abcdeabcdabcaba') prin ...
随机推荐
- MySQL 日期类型及默认设置 (除timestamp类型外,系统不支持其它时间类型字段设置默认值)
MySQL 日期类型及默认设置 之前在用 MySQL 新建 table,创建日期类型列时遇到了一些问题,现在整理下来以供参考. MySQL 的日期类型如何设置当前时间为其默认值? 答:请使用 time ...
- javascript创建对象之动态原型模式(五)
function Human(name, sex) { this.name = name; this.sex = sex; if (typeof this.say != "function& ...
- Windows 应用程序交互过程
应用程序 Windows的应用程序一般包含窗口(Window),它主要为用户提供一种可视化的交互方式(窗口是由线程(Thread)创建的).Windows 系统通过消息机制来让系统和用户进行交互 ...
- blktrace分析IO
http://bean-li.github.io/blktrace-to-report/ 前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我 ...
- 清理mysql binlog日志
1.查看binlog日志 mysql> show binary logs; +------------------+------------+| Log_name | File_ ...
- jmeter测试20个QPS下的响应时间-设置QPS限制
添加--->定时器--->Constant Throughput Timer Constant Throughput Timer 的主要属性介绍: 名称:定时器的名称 Target thr ...
- 3.1_分类算法之k-近邻
分类算法之k-近邻 k-近邻算法采用测量不同特征值之间的距离来进行分类 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 使用数据范围:数值型和标称型 一个例子弄懂k-近 ...
- 1.纯 CSS 创作一个按钮文字滑动特效 + 弹幕(残缺)
原文地址:1# 视频演示如何用纯 CSS 创作一个按钮文字滑动特效 扩展后地址:https://scrimba.com/c/cJkzMfd HTML代码: <html> <head& ...
- OpenACC 书上的范例代码(Jacobi 迭代),part 3
▶ 使用Jacobi 迭代求泊松方程的数值解 ● 使用 data 构件,强行要求 u0 仅拷入和拷出 GPU 各一次,u1 仅拷入GPU 一次 #include <stdio.h> #in ...
- HtmlRowCreated关于e.Row.Cells[0]的获取和设置
获取采用: cmd2.Parameters.AddWithValue("@xh", e.GetValue("学号").ToString().Trim()); ...