python collections模块 计数器(counter)
一、计数器(counter)
Counter是对字典类型的补充,用于追踪值的出现次数。
ps:具备字典的所有功能 + 自己的功能
把我写入的元素出现的多少次都计算出来
import collections # 创建一个Counter对象
obj = collections.Counter('ddccbbqqaaa')
print(obj) '''
把我写入的元素出现的多少次都计算出来
Counter({'a': 3, 'd': 2, 'c': 2, 'b': 2, 'q': 2}) '''
obj.most_common()
要取多少得值
import collections # 创建一个Counter对象
obj = collections.Counter('ddccbbqqaaa')
print(obj) '''
把我写入的元素出现的多少次都计算出来
Counter({'a': 3, 'd': 2, 'c': 2, 'b': 2, 'q': 2}) ''' ret = obj.most_common(4)
print(ret) # 取前4位
# [('a', 3), ('d', 2), ('c', 2), ('b', 2)]
循环字典
import collections # 创建一个Counter对象
obj = collections.Counter('ddccbbqqaaa')
print(obj) # Counter({'a': 3, 'd': 2, 'c': 2, 'b': 2, 'q': 2}) # 循环 字典 for i in obj:
print(i,obj[i]) '''
d 2
c 2
b 2
q 2
a 3
'''
elements() 传的是原生的值
import collections # 创建一个Counter对象
obj = collections.Counter("dd") # elements() 传的是原生的值
print(list(obj.elements())) # ['d', 'd'] obj = collections.Counter(['','','','']) print(list(obj.elements()))
# ['1', '2', '3', '4']
update() 更新计数器 增加
在原来基础上添加
import collections # 创建一个Counter对象 obj = collections.Counter(['','','','']) print(obj)
# Counter({'22': 2, '11': 1, '44': 1}) # update() 更新计数器
obj.update(["","","eric"])
print(obj)
# Counter({'11': 3, '22': 2, '44': 1, 'eric': 1})
subtract()
删除
原来的计数器中的每一个元素的数量减去后添加的元素的数量
import collections # 创建一个Counter对象 obj = collections.Counter(['','','','']) print(obj)
# Counter({'22': 2, '11': 1, '44': 1}) # update() 更新计数器
obj.update(["","","eric"])
print(obj)
# Counter({'11': 3, '22': 2, '44': 1, 'eric': 1}) obj.subtract(['eric'])
print(obj) # Counter({'11': 3, '22': 2, '44': 1, 'eric': 0})
import collections # 创建一个Counter对象 obj = collections.Counter(['','','','']) print(obj)
# Counter({'22': 2, '11': 1, '44': 1}) obj.subtract(['eric','','',''])
print(obj) # Counter({'11': 1, '44': 1, '22': -1, 'eric': -1})
python collections模块 计数器(counter)的更多相关文章
- Python标准库——collections模块的Counter类
1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...
- Python collections模块总结
Python collections模块总结 除了我们使用的那些基础的数据结构,还有包括其它的一些模块提供的数据结构,有时甚至比基础的数据结构还要好用. collections ChainMap 这是 ...
- (转)python collections模块详解
python collections模块详解 原文:http://www.cnblogs.com/dahu-daqing/p/7040490.html 1.模块简介 collections包含了一些特 ...
- Python中Collections模块的Counter容器类使用教程
1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...
- Python collections 模块用法举例
Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想给大家 介绍的 collections 就是一个非常好的例子. 1.collections模块基本介绍 我们都知道 ...
- python collections模块
collections模块基本介绍 collections在通用的容器dict,list,set和tuple之上提供了几个可选的数据类型 namedtuple() factory function f ...
- Python——collections模块
collections模块 collections模块在内置数据类型(dict.list.set.tuple)的基础上,还提供了几个额外的数据类型:ChainMap.Counter.deque.def ...
- Python——collections模块、time模块、random模块、os模块、sys模块
1. collections模块 (1)namedtuple # (1)点的坐标 from collections import namedtuple Point = namedtuple('poin ...
- python collections模块详解
参考老顽童博客,他写的很详细,例子也很容易操作和理解. 1.模块简介 collections包含了一些特殊的容器,针对Python内置的容器,例如list.dict.set和tuple,提供了另一种选 ...
随机推荐
- debug宏起作用应用
在linux内核中重新定义了printk,如pr_debug,dev_dbg等.要使用这些宏函数就需要定义DEBUG. 详见:kernel printk信息显示级别 那么DEBUG该定义在什么地方呢? ...
- setTranslatesAutoresizingMaskIntoConstraints和setFrame组合使用导致的异常
在用Ojbect-c开发OSX应用的时候需要用到自定义控件并用代码进行布局,很自然地就使用了setTranslatesAutoresizingMaskIntoConstraints和setFrame组 ...
- c经典算法
1. 河内之塔 说明 河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时 北越的首都,即现在的胡志明市:1883年法国数学家 Ed ...
- MapReduce 中的两表 join 几种方案简介
转自:http://my.oschina.net/leejun2005/blog/95186 MapSideJoin例子:http://my.oschina.net/leejun2005/blog/1 ...
- 我在Facebook学到的10个经验
1.坚持你的远景,但要对细节灵活. 作为一个领导者,你需要依赖你自己的远景(至少在你负责的业务领域内)而那些和你一起或为你工作的人将依赖你的远见.什么是远景?就是对最终状态的一种描述.是你需要你的团队 ...
- Mac 安装Jupyter notebook
python:mac下自带Python 2.7.10 1.先升级了pip安装工具:sudo python -m pip install --upgrade --force pip 2.安装setupt ...
- Laravel5.1 搭建博客 --上传文件及文件管理
教程源自:Laravel学院 这一节 咱来说说上传文件的功能实现,我们会把上传的文件保存到项目本地,不仅上传 还有删除和预览功能. 1 配置 我们先从配置开始做起,先修改我们自己创建的 blog.ph ...
- php 快速读取文件夹下文件列表
在读取某个文件夹下的内容的时候 以前是使用 opendir readdir结合while循环过滤 . ..当前文件夹和父文件夹来操作的. 代码如下: 然后偶然发现了有scandir函数 可以扫描文件夹 ...
- c++11——多线程
c++11中增加了线程以及线程相关的类,很方便的支持了并发编程. 1. 线程 线程创建 使用std::thread创建线程,提供线程函数或者函数对象即可,并且可以指定线程函数的参数. #inc ...
- linux下如何启动nginx?
命令: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ........... [root@localhost sbin ...