python counter模块_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类

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,提供了另一种选 ...

随机推荐

[WinAPI] API 10 [创建、打开、读写文件,获取文件大小]

在Windows系统中,创建和打开文件都是使用API函数CreateFile,CreateFile通过指定不同的参数来表示是新建一个文件,打开已经存在的文件,还是重新建立文件等.读写文件最为直接的方式 ...

lof基金

lof基金 编辑 LOF基金,英文全称是"Listed Open-Ended Fund",汉语称为"上市型开放式基金".也就是上市型开放式基金发行结束后,投资者 ...

BZOJ_1011_[HNOI2008]_遥远的行星_(近似)

描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1011 \(n\)个行星,第\(i\)颗行星的质量为\(m_i\),给出一个很小的常数\(A\) ...

模块简介:(logging)(re)(subprocess)

''' logging模块: logging的日志可以分为 debug():Detailed information, typically of interest only when diagnosi ...

mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)

普通的UTF8编码是不支持emoji表情插入的,会报异常: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x9 ...

macbook hive安装

1 原材料 1.1 已经安装好的伪分布式hadoop,版本2.8.3(参见链接https://www.cnblogs.com/wooluwalker/p/9128859.html) 1.2 apach ...

pymysql和MySQLdb

MySQLdb创建mysql数据库表 其实mysqldb创建表是有限制的,要求是5.1-5.5版本 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1.下载 首 ...

IT运维助力业务增值

随着业务的不断扩展及IT的深化融合,IT运维在企业日常管理中的地位已经显得越发重要.然而,日常的运维工作繁琐.辛苦,还得不到认可.“吃力不讨好!”也成为很多兢兢业业的IT管理人员普遍存在的苦恼.    ...

poj1125

题目大意:哎,意思看了半天,看了别人的解释才明白,就是说从一个经纪人出发传递消息,直到所有人都收到消息 也就是说只要找到该经纪人到其它所有点的最短距离中的最大一个时间,就说明最后一个也收到消息了. 而 ...

【HDU 6020】 MG loves apple (乱搞?)

MG loves apple  Accepts: 20  Submissions: 693  Time Limit: 3000/1500 MS (Java/Others)  Memory Limit: ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值