python引用计数器使用教程(python计数器Counter)

python引用计数器使用教程(python计数器Counter)(1)

python计数器(Counter)

Counter是collections模块的Counter类。collections中一共有9种容器,其中counter、defaultdict、deque、namedtuple、orderdict比较常用。

计数器(Counter)是一个无序容器,用于记录各种值出现的次数。

它采用键值对的形式存储,要记录的值作为key,这个值出现的次数作为value,value值可正可负。

创建计数器

# 创建一个空实例 c = collections.Counter() # 从list创建 c = collections.Counter(['a', 'a', 'b', 'b', 'c']) # 从tuple创建 c = collections.Counter(('a', 'a', 'b', 'b', 'c')) # 从dict创建 c = collections.Counter({'a': 2, 'b': 2, 'c': 1}) # 从字符串创建 c = collections.Counter("hello world") # 从键值参数创建 c = collections.Counter(a=2, b=2, c=1)

访问元素

计数器是dict的子类,因此可以像使用dict那样访问计数器元素:

print(c['h']) print(c['w'])

当访问计数器中不存在的元素的时候,返回0

print(c['x'])

增加计数

从计数器中加上可迭代对象(www)中各种值出现的次数

c.update("www")

减少计数

从计数器中减去可迭代对象(www)中各种值出现的次数

c.subtract("www")

删除元素

计数器中一个元素的值减少到0时,不会自动从计数器中删除,如果要删除可以使用del函数。

del (c['-'])

topN操作

获取出现次数最多的n个元素,返回包含这些元素的list

出现次数最多的元素

top1 = c.most_common(1)

出现次数最多的两个元素

top2 = c.most_common(2)

不提供参数则返回所有元素

topx = c.most_common()

数学集合操作

c = collections.Counter((1, 2, 3, 4, 5)) d = collections.Counter((4, 5, 6, 7, 8)) print('c', dict(c)) print('d', dict(d)) print('c d', c d) print('c - d', c - d) print('c & d', c & d) print('c | d', c | d)

输出

c {1: 1, 2: 1, 3: 1, 4: 1, 5: 1} d {4: 1, 5: 1, 6: 1, 7: 1, 8: 1} c d Counter({4: 2, 5: 2, 1: 1, 2: 1, 3: 1, 6: 1, 7: 1, 8: 1}) c - d Counter({1: 1, 2: 1, 3: 1}) c & d Counter({4: 1, 5: 1}) c | d Counter({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1})

参考:https://blog.csdn.net/JohnJim0/article/details/116985770https://blog.csdn.net/yelitoudu/article/details/116115012

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页