collections 模块之Counter
Counter字典的子类,用于统计哈希对象
from collections import Counter users = ["body1","body11","body13","body14","body11","body12","body13","body11"] user_counter = Counter(users) print (user_counter) #打印结果:
Counter({'body11': 3, 'body13': 2, 'body1': 1, 'body14': 1, 'body12': 1}) user1_counter = Counter("abcdABCDAAccDd") #统计字符串
print (user1_counter)
#打印结果:
Counter({'c': 3, 'A': 3, 'd': 2, 'D': 2, 'a': 1, 'b': 1, 'B': 1, 'C': 1})
user1_counter.update(user_counter) #更新合并统计(将user_counter和user1_counter的数据合并统计)
print (user1_counter)
#打印结果:
Counter({'c': 3, 'A': 3, 'body11': 3, 'd': 2, 'D': 2, 'body13': 2, 'a': 1, 'b': 1, 'B': 1, 'C': 1, 'body1': 1, 'body14': 1, 'body12': 1})
user1_counter.update('') #合并统计(将user1_counter的数据加入1234后统计)
print (user1_counter)
打印结果:
Counter({'c': 3, 'A': 3, 'body11': 3, 'd': 2, 'D': 2, 'body13': 2, 'a': 1, 'b': 1, 'B': 1, 'C': 1, 'body1': 1, 'body14': 1, 'body12': 1, '1': 1, '2': 1, '3': 1, '4': 1})
#统计出出现次数最多的前n个元素,示例打印前两个
print(user_counter.most_common(2)) #打印结果:
[('body11', 3), ('body13', 2)]
键的删除
>>> from collections import Counter
>>> c = Counter("abcdcba")
>>> c
Counter({'a': 2, 'b': 2, 'c': 2, 'd': 1})
>>> del c["a"]
>>> c
Counter({'b': 2, 'c': 2, 'd': 1})
>>>
算术和集合操作
+、-、&、| 操作也可以用于Counter。其中&和|操作分别返回两个Counter对象各元素的最小值和最大值。需要注意的是,得到的Counter对象将删除小于1的元素。
>>> c = Counter(a=3, b=1)
>>> d = Counter(a=1, b=2)
>>> c + d # c[x] + d[x]
Counter({'a': 4, 'b': 3})
>>> c - d # subtract(只保留正数计数的元素)
Counter({'a': 2})
>>> c & d # 交集: min(c[x], d[x])
Counter({'a': 1, 'b': 1})
>>> c | d # 并集: max(c[x], d[x])
Counter({'a': 3, 'b': 2})
其它操作
sum(c.values()) # 所有计数的总数
c.clear() # 重置Counter对象,注意不是删除
list(c) # 将c中的键转为列表
set(c) # 将c中的键转为set
dict(c) # 将c中的键值对转为字典
c.items() # 转为(elem, cnt)格式的列表
Counter(dict(list_of_pairs)) # 从(elem, cnt)格式的列表转换为Counter类对象
c.most_common()[:-n:-1] # 取出计数最少的n-1个元素
c += Counter() # 移除0和负值
collections 模块之Counter的更多相关文章
- Python标准库——collections模块的Counter类
1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...
- Python中Collections模块的Counter容器类使用教程
1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...
- python的Collections 模块
Collections 模块 知识点 Counter 类 defaultdict 类 namedtuple 类 在这个实验我们会学习 Collections 模块.这个模块实现了一些很好的数据结构,它 ...
- python:collections模块
Counter类 介绍:A counter tool is provided to support convenient and rapid tallies 构造:class collections. ...
- collections 模块(namedtuple, deque, Counter )
基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型 ...
- collections模块---(namedtuple、deque、OrderdDict、defaultdict、Counter)和configparser模块
在内置数据类型(dict. list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter. deque.defaultdict.namedtuple 和 ...
- python collections模块 计数器(counter)
一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 把我写入的元素出现的多少次都计算出来 import collectio ...
- python collections模块
collections模块基本介绍 collections在通用的容器dict,list,set和tuple之上提供了几个可选的数据类型 namedtuple() factory function f ...
- Python collections 模块用法举例
Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想给大家 介绍的 collections 就是一个非常好的例子. 1.collections模块基本介绍 我们都知道 ...
随机推荐
- web scraper——安装【一】
准备工作 工欲善其事必先利其器,既然是要安装web scraper一些***的工具是必然不可缺少的,如果没有的话,先下载个蓝灯用用吧. 蓝灯最新版下载地址 下载安装完成后双击打开即可,这时候会弹出一个 ...
- P1028 数的计算
P1028 题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该 ...
- 进程PID 与PPID
# 同一个程序执行多次是多个进程 import time import os print('爹是:',os.getppid()) #查看父进程 print('me是: ',os.getpid()) # ...
- dasd
https://www.crifan.com/use_pyinstaller_to_package_python_to_single_executable_exe/ http://blog.csdn. ...
- 逆向并查集 HYSBZ1015星球大战starwar
星球大战starwar HYSBZ - 1015 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系 ...
- LVS负载均衡集群(DR)
-----构建DR模式的LVS群集----- --client---------------------LVS------------------------WEB1----------------- ...
- [NOI2010]航空管制(拓扑排序+贪心)
题目描述 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此,小X表示很不满意. 在这次来烟台的路上,小X不幸又一 ...
- 【nginx】nginx配置文件结构,内置变量及参数调优
Nginx的配置文件是一个纯文本文件,它一般位于Nginx安装目录的conf目录下,整个配置文件是以block的形式组织的.每个block一般以一个大括号“{”来表示.block 可以分为几个层次,整 ...
- Can DBC文件翻译
1 引言 DBC文件描述单个CAN网络的通信.这个信息足以监测和分析网络并模拟不是物理可用的节点(剩余的总线模拟). DBC文件也可以用来开发电子控制单元的通信软件,该控制单元应该是CAN网络的一部分 ...
- 点击a标签不跳转的办法
方法1: <a href="http://www.baidu.com" onclick="return false"></a> 方法2: ...