概述
python容器数据类型collections中的Counter类
导入
Counter——字典的子类,提供了可哈希对象的计数功能
from collections import Counter
定义方式
# 定义一个空的Counter
c = Counter()
print(type(c))
# 方式一
c = Counter("abcdefgabcdefabcdeabcdabc")
print(c)
# 方式二
c = Counter({'a': 3, "b": 4, "c": 5, "d": 2})
print(c)
# 方式三
c = Counter(a=1, b=2, c=3, d=4)
print(c)
结果如下:
<class ‘collections.Counter’>
Counter({‘a’: 5, ‘b’: 5, ‘c’: 5, ‘d’: 4, ‘e’: 3, ‘f’: 2, ‘g’: 1})
Counter({‘c’: 5, ‘b’: 4, ‘a’: 3, ‘d’: 2})
Counter({‘d’: 4, ‘c’: 3, ‘b’: 2, ‘a’: 1})
方法
1.elements()
返回一个迭代器,其中每个元素将重复出现计数值所指定次。 元素会按首次出现的顺序返回。 如果一个元素的计数值小于一,elements() 将会忽略它。
c = Counter(a=1, b=2, c=3, d=4)
sorted(c.elements())
结果如下:
[‘a’, ‘b’, ‘b’, ‘c’, ‘c’, ‘c’, ‘d’, ‘d’, ‘d’, ‘d’]
2.most_common()
返回一个列表,其中包含 n 个最常见的元素及出现次数,按常见程度由高到低排序。 如果 n 被省略或为 None,该函数将返回计数器中的所有元素。 计数值相等的元素按首次出现的顺序排序。
c = Counter("abcdefgabcdefabcdeabcdabc")
print(c.most_common())
print(c.most_common(4))
结果如下:
[(‘a’, 5), (‘b’, 5), (‘c’, 5), (‘d’, 4), (‘e’, 3), (‘f’, 2), (‘g’, 1)]
[(‘a’, 5), (‘b’, 5), (‘c’, 5), (‘d’, 4)]
3.subtract()
从 迭代对象或映射对象 减去元素
c = Counter(a=3, b=2, c=1)
d = Counter(a=1, b=1, c=1, d=1)
c.subtract(d)
print(c)
结果如下:
Counter({‘a’: 2, ‘b’: 1, ‘c’: 0, ‘d’: -1})
4.其他
通常字典方法都可用于 Counter 对象,但有两个方法工作方式与字典并不相同,fromkeys()方法没有在 Counter 中实现。update()从迭代对象计数元素或者从另一个映射对象 (或计数器) 添加。 像 dict.update() 但是是加上,而不是替换。另外,迭代对象应该是序列元素,而不是一个 (key, value) 对。
最后
以上就是甜美柜子为你收集整理的python容器数据类型collections中的Counter类使用python容器数据类型collections中的Counter类的全部内容,希望文章能够帮你解决python容器数据类型collections中的Counter类使用python容器数据类型collections中的Counter类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复