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的更多相关文章

  1. Python 第三篇(下):collections系列、集合(set)、单双队列、深浅copy、内置函数

     一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在py ...

  2. python递归、collections系列以及文件操作进阶

    global log 127.0.0.1 local2 daemon maxconn log 127.0.0.1 local2 info defaults log global mode http t ...

  3. Python之set集合与collections系列

    1>set集合:是一个无序且不重复的元素集合:访问速度快,解决了重复的问题: s2 = set(["che","liu","haha" ...

  4. python之路(二)-collections系列

    collections提供了一些比较方便的方法,使用时需要先导入模块 导入模块: import collections 1. 计数器Counter 统计参数中出现的次数,以字典的方式返回结果,参数可以 ...

  5. python3 开发面试题(collections中的Counter)6.7

    ''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...

  6. collections系列之OrderedDict【有序字典】与DefaultDict【默认字典】

    今天来向大家介绍一下collections系列中的OrderedDict和DefaultDict,这两种类均是通过collections来创建的,均是对dict字典加工,所有都继承了dict字典的方法 ...

  7. Python标准库——collections模块的Counter类

    1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...

  8. Python中模块之collections系列

    collection系列功能介绍 1. 常用的集中类 1. Counter(计数器) 计数器的常用方法如下: 创建一个字典计数器 格式:collections.Counter(obj) 例如:prin ...

  9. collections系列

    一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 c = Counter('abcdeabcdabcaba') prin ...

随机推荐

  1. 正则捕获的细节及replace分析

    1.var reg=/./与var reg=/\./的区别? 前者代表任意一个字符, 后者代表这个字符串中得有一个点 2.?的使用 如果单独的一个字符后面带? 代表1个或0个这个字符的出现: 列如: ...

  2. Git 查询某次历史提交的修改内容

    在工作时,有时候想查看某次的提交修改了哪些的内容. 我们首先可以git log显示历史的提交列表: 之后我们用git show <commit-hashId> 便可以显示某次提交的修改内容 ...

  3. [jni]Getting Started

    写一个java应用程序来调用C函数打印“Hello World!" 这个过程包括以下步骤: 1:创建一个申明了native方法的java类(HelloWorld.java): 2:使用jav ...

  4. 测试运行kafka的时候缺少包的错误

    把kafka安装好了,在开启Kafka producer生产者,消费者的时候报这个错误 解决方法: 下载slf4j-1.7.6.ziphttp://www.slf4j.org/dist/slf4j-1 ...

  5. 微信小程序教程系列

    微信小程序教程系列 来源:       https://blog.csdn.net/michael_ouyang/article/details/56846185 相关连接:http://blog.c ...

  6. oracle创建表空间,表及用户

    oracle要创建表要首先创建表空间,当然默认是有表空间的.而mysql创建表时,会自动创建表空间,myisam会自动建三个文 件.MYD,.MYI,.frm.innodb呢,如果没有配置独立表空间的 ...

  7. UCenter 的目录结构

      以下关于文件的阐述以及代码的样例,均以 PHP 程序为例. UCenter 的目录结构 UCenter 分为服务端和客户端 2 个部分.服务端目录为“upload/”,客户端目录为“client/ ...

  8. jquery在元素中存储数据:data()

    转自:http://www.php.cn/js-tutorial-405445.html 在元素中存储数据:data() 1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html& ...

  9. SQL2014还原到2008

    请使用with move选项来标识该文件的有效位置 sqlserver用命令还原数据库 restore   database   TT     from   disk='E:\test.bak'    ...

  10. 使用SendMessage进行进程间通信

    Imports System.Runtime.InteropServices Public Class Monitor <DllImport("user32.dll", Ch ...