Pythoncollections.Counter数据结构的构造函数__init__()使用说明
发布时间:2023-12-27 15:49:09
Python的collections模块中的Counter类是一个用于计数的数据结构。它的构造函数__init__()可以用来创建一个Counter对象,并对其进行初始化。
构造函数的语法如下:
class collections.Counter([iterable-or-mapping])
其中,可选参数iterable-or-mapping可以是一个可迭代对象(如列表、元组、字符串等),或者是一个字典(映射)。如果没有提供任何参数,则创建一个空的Counter对象。
下面我们来通过一些例子来演示Counter构造函数的使用。
1. 使用可迭代对象初始化Counter对象
from collections import Counter
# 使用列表初始化
c = Counter([1, 2, 3, 3, 4, 4, 4])
print(c) # Counter({4: 3, 3: 2, 1: 1, 2: 1})
# 使用元组初始化
c = Counter((1, 2, 3, 3, 4, 4, 4))
print(c) # Counter({4: 3, 3: 2, 1: 1, 2: 1})
# 使用字符串初始化
c = Counter("hello")
print(c) # Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})
2. 使用字典初始化Counter对象
from collections import Counter
# 使用字典初始化
c = Counter({'a': 3, 'b': 2, 'c': 1})
print(c) # Counter({'a': 3, 'b': 2, 'c': 1})
3. 不提供任何参数,创建一个空的Counter对象
from collections import Counter # 不提供任何参数 c = Counter() print(c) # Counter()
需要注意的是,Counter对象中的元素是无序的,并且元素的计数值必须是整数或零。计数器的计数值可以是负数,但没有正常的通用数学意义。
构造函数__init__()会将每个元素的计数值初始化为对应元素的出现次数。如果提供的参数是字典,则该字典的键会作为元素,而值会作为计数值。
除了__init__()方法之外,Counter对象还提供了一系列其他方法,如most_common()、elements()、subtract()等,可以用于计算频率、元素的迭代和计数值的减法等等。
总结:Counter类的构造函数__init__()可以用来创建一个Counter对象,并对其进行初始化。可以使用可迭代对象或字典来初始化Counter对象,并将元素的计数值初始化为出现的次数。Counter对象还提供了其他方法,可以对计数值进行操作。
