Pythoncollections.Counter类的__init__()函数介绍
发布时间:2023-12-27 15:42:27
Python的collections.Counter类是一个用于计数的容器,可以用来统计可迭代对象中元素的出现次数。
该类的__init__()函数用于初始化一个空的计数器。它可以接受多种参数类型来创建计数器对象。以下是__init__()函数的用法和示例:
1. 初始化空的计数器
c = Counter() print(c) # Counter()
2. 使用可迭代对象初始化计数器,元素作为键,出现次数作为值
c = Counter([1, 2, 2, 3, 3, 3])
print(c) # Counter({3: 3, 2: 2, 1: 1})
3. 使用字典初始化计数器,键作为元素,值作为出现次数
c = Counter({'a': 2, 'b': 3, 'c': 1})
print(c) # Counter({'b': 3, 'a': 2, 'c': 1})
4. 使用关键字参数初始化计数器,键作为元素,值作为出现次数
c = Counter(a=2, b=3, c=1)
print(c) # Counter({'b': 3, 'a': 2, 'c': 1})
__init__()函数根据传入的参数来创建一个计数器对象。如果传入的是一个可迭代对象,它会统计每个元素的出现次数;如果传入的是一个字典或关键字参数,它会以键值对的形式统计每个键的出现次数。所有的键和值都必须是可哈希的。
计数器对象可以像字典一样进行操作,例如使用关键字获取元素的计数、增加元素的计数、减少元素的计数、删除元素的计数等。计数器对象还支持各种数学操作,如加法、减法、交集、并集等。
下面是一些使用Counter类的示例:
1. 获取元素的计数
c = Counter(['a', 'b', 'a', 'c', 'b', 'a']) print(c['a']) # 3 print(c['b']) # 2 print(c['c']) # 1
2. 增加元素的计数
c = Counter()
c['a'] += 1
c['b'] += 3
c['c'] += 2
print(c) # Counter({'b': 3, 'c': 2, 'a': 1})
3. 删除元素的计数
c = Counter(['a', 'b', 'a', 'c', 'b', 'a'])
del c['a']
print(c) # Counter({'b': 2, 'c': 1})
4. 计数器的数学操作
c1 = Counter(a=3, b=2, c=1)
c2 = Counter(a=1, b=2, c=3)
print(c1 + c2) # Counter({'b': 4, 'c': 4, 'a': 4})
print(c1 - c2) # Counter({'a': 2})
print(c1 & c2) # Counter({'b': 2, 'a': 1, 'c': 1})
print(c1 | c2) # Counter({'a': 3, 'c': 3, 'b': 2})
以上是collections.Counter类的__init__()函数的介绍和使用示例。通过该函数,可以方便地创建计数器对象,并对元素的计数进行操作和统计。
