程序是练出来的

专注JAVA,JavaScript,Python,三剑走天涯。 软素质:忠心、追求、进取、态度、方法、恒心、坚持

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

counter是 colletions内的一个类

可以理解为一个简单的计数

import collections
str1=['a','a','b','d']
m=collections.Counter(str1)
print(m)

str2=['','','','']
m1=collections.Counter(str2)
print(m1)

 

 

器,可以统计字符出现的个数,例子如下

 

输出:

Counter({'a': 2, 'b': 1, 'd': 1})
Counter({'你': 3, '好': 1})

这样结合文本的读取就可以轻松的统计文本中字符的个数。

接下来详细介绍一下

通过学习博客:pythoner 地址:http://www.pythoner.com/205.html 

collections模块

此模块 包含了 除了dict,set,list,tuple以外的 Python中的一些特殊容器

  • OrderedDict类:排序字典,是字典的子类。引入自2.7。
  • namedtuple()函数:命名元组,是一个工厂函数。引入自2.6。
  • Counter类:为hashable对象计数,是字典的子类。引入自2.7。
  • deque:双向队列。引入自2.4。
  • defaultdict:使用工厂函数创建字典,使不用考虑缺失的字典键。引入自2.5。

counter类

Counter类的目的是用来跟踪值出现的次数。

它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和负数)。

首先是四个创建方法

>>> c = Counter()  # 创建一个空的Counter类
>>> c = Counter('adasdasd')  # 从一个可iterable对象(list、tuple、dict、字符串等)创建
>>> c = Counter({'a': 4, 'b': 2})  # 从一个字典对象创建
>>> c = Counter(a=4, b=2)  # 从一组键值对创建

 当所访问的键不存在时,返回0,而不是KeyError;否则返回它的计数。

 
>>> c = Counter("abcdefgab")
>>> c["a"]
2
>>> c["c"]
1
>>> c["h"]
0
 

2.3 计数器的更新(update和subtract)

可以使用一个iterable对象或者另一个Counter对象来更新键值。

计数器的更新包括增加和减少两种。其中,增加使用update()方法:

posted on 2019-05-19 20:52  爱学习的小象  阅读(1532)  评论(0编辑  收藏  举报