python global counter_Python : 计数器Counter

Collection

from collections import Counter

Init signature: Counter(*args, **kwds)

Docstring:

Dict subclass for counting hashable items. Sometimes called a bag or multiset. Elements are stored as dictionary keys and their counts are stored as dictionary values.

返回值:Counter字典

c = Counter('abcdeabcdabcaba') # count elements from a string

>>> print(c)

Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1})

List the n most common elements and their counts from the most common to the least. If n is None, then list all element counts.

>>> c.most_common() # 没有传递参数时,输出所有的要素

[('a', 5), ('b', 4), ('c', 3), ('d', 2), ('e', 1)]

>>> c.most_common(3) # three most common elements 最多的3个要素

[('a', 5), ('b', 4), ('c', 3)]

Return a new list containing all items from the iterable in ascending order.

按升序返回包含items的list

>>> sorted(c) # list all unique elements

['a', 'b', 'c', 'd', 'e']

常规操作

>>> ''.join(sorted(c.elements())) # list elements with repetitions

'aaaaabbbbcccdde'

>>> sum(c.values()) # total of all counts

15

>>> c['a'] # count of letter 'a'

5

>>> for elem in 'shazam': # update counts from an iterable

... c[elem] += 1 # by adding 1 to each element's count

>>> c['a'] # now there are seven 'a'

7

>>> del c['b'] # remove all 'b'

>>> c['b'] # now there are zero 'b'

0

>>> d = Counter('simsalabim') # make another counter

>>> c.update(d) # add in the second counter

>>> c['a'] # now there are nine 'a'

9

>>> c.clear() # empty the counter

>>> c

Counter()

If a count is set to zero or reduced to zero, it will remain in the counter until the entry is deleted or the counter is cleared:

如果减少计数器的数值为0(或设定为0),但是元素不会消失,除非完全被释放.

>>> c = Counter('aaabbc')

>>> c['b'] -= 2 # reduce the count of 'b' by two

>>> c.most_common() # 'b' is still in, but its count is zero

[('a', 3), ('c', 1), ('b', 0)]

>>> c = Counter() # a new, empty counter

>>> c = Counter('gallahad') # a new counter from an iterable

print(c)

Counter({'a': 3, 'l': 2, 'g': 1, 'h': 1, 'd': 1})

>>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping

>>> c = Counter(a=4, b=2) # a new counter from keyword args

Counter({'a': 4, 'b': 2})

>>> c['g'] = 3

>>> c

Counter({'a': 4, 'b': 2, 'g': 3})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值