一、Python Counter函数简介
在Python中,Counter是一个用来计数的工具类。它是一个字典的子类,其中键表示要计数的对象,而键的值表示出现的次数。Counter类提供了快速计数的方法,支持大部分字典操作,同时它也支持数学运算操作。
二、 Python Counter函数详解
- Counter函数的基本用法
在使用Counter函数之前,需要先导入该模块:
from collections import Counter
然后,可以通过以下代码创建一个Counter对象:
arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
c = Counter(arr)
上述代码创建了一个计数器对象[Counter({4: 4, 3: 3, 2: 2, 1: 1})]。其中,键为数组元素,值为该元素在数组中出现的次数。
除了数组之外,Counter函数也可以接收一个字符串、元组、字典等类型的对象作为参数,用于统计对象中每个元素出现的次数。
- Counter函数常用方法
除了常规字典操作外,Counter还有以下常用方法:
(1) elements()方法:返回Counter对象元素的迭代器,如果元素出现次数大于1,将其重复返回。
如下所示例子,假设我们要统计字符串”hello world”中每个字符出现的次数:
s = "hello world"
c = Counter(s)
print(list(c.elements()))
输出为:[‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘o’, ‘w’, ‘r’, ‘l’, ‘d’]
(2) most_common()方法:返回出现次数最多的元素和它的计数。
如下所示例子,假设我们要统计列表[1,1,1,2,2,3,4]中出现次数最多的两个元素:
arr = [1,1,1,2,2,3,4]
c = Counter(arr)
print(c.most_common(2))
输出为:[(1, 3), (2, 2)]。
(3) subtract()方法:从第一个Counter对象中减去第二个Counter对象中的元素。
如下所示例子,假设我们要从两个Counter对象中减去相同的元素:
c1 = Counter(a=3, b=1, c=2)
c2 = Counter(a=1, b=2, c=3)
c1.subtract(c2)
print(c1)
输出为:Counter({‘a’: 2, ‘c’: -1, ‘b’: -1})
三、Python Counter函数示例
- 统计字符串中字符出现的次数:
s = "hello world"
c = Counter(s)
print(c)
输出为: Counter({‘l’: 3, ‘o’: 2, ‘h’: 1, ‘e’: 1, ‘ ‘: 1, ‘w’: 1, ‘r’: 1, ‘d’: 1})
- 合并多个计数器:
c1 = Counter(a=3, b=1, c=2)
c2 = Counter(a=1, b=2, c=3)
c = c1 + c2
print(c)
输出为: Counter({‘a’: 4, ‘c’: 5, ‘b’: 3})
以上就是关于Python Counter函数详解的完整攻略。