>>> from collections import Counter
>>> some_data = ['a','2',2,4,5,'2','b',4,7,'a',5,'d','a','z']
>>> print Counter(some_data)
Counter({'a': 3, 4: 2, 5: 2, '2': 2, 2: 1, 'b': 1, 7: 1, 'z': 1, 'd': 1})
# 可以使用 elements() 方法来获取Counter中的key值
>>> list(Counter(some_data).elements())
['a', 'a', 'a', 2, 'b', 4, 4, 5, 5, 7, '2', '2', 'z', 'd']
# 利用 most_common() 方法可以找出前N个出现频率最高的元素以及它们对应的次数。
>>> Counter(some_data).most_common(2)
[('a', 3), (4, 2)]
# 当访问不存在的元素时,默认返回为0
>>> (Counter(some_data))['y']
0
# update()方法用于被统计对象元素的更新,原有Counter计数器对象与新增元素的统计计数值相加而不是直接替换它们。
# subtract()方法用于实现计数器对象中元素统计值相减,输入和输出的统计值允许为0或者负数。
>>> c = Counter("success") #Counter({'s': 3, 'c': 2, 'e': 1, 'u': 1})
>>> c.update("successfully") #'s': 3, 'c': 2, 'l': 2, 'u': 2, 'e': 1, 'f': 1, 'y': 1
>>> c #s
的值为变为6
,为上面s
中对应值的和
Counter({'s': 6, 'c': 4, 'u': 3, 'e': 2, 'l': 2, 'f': 1, 'y': 1})
>>> c.subtract("successfully")
>>> c
Counter({'s': 3, 'c': 2, 'e': 1, 'u': 1, 'f': 0, 'l': 0, 'y': 0})