collections.Counter类的初始化方法__init__()解析
发布时间:2023-12-27 15:44:48
collections.Counter类是Python标准库collections中的一个类,它用于统计可哈希对象的数量。Counter类的初始化方法__init__()用于创建一个新的Counter对象,并可以通过参数传递元素作为初始计数值。
Counter类继承了字典类,并增加了一些额外的方法,用于对元素进行计数和统计。Counter对象中的元素会以元素本身作为键,出现次数作为值。
下面是__init__()方法的定义:
def __init__(self, iterable=None, **kwds):
self.update(iterable, **kwds)
__init__()方法接受两个可选参数,iterable和**kwds。
1. iterable参数是一个可迭代对象,用于初始化Counter对象。可以传递一个列表、元组、集合、字典等可迭代对象。
2. **kwds参数是一个可变关键字参数,用于初始化Counter对象。可以传递一个字典,其中键是元素,值是元素的初始计数值。
下面是一些使用Counter类的初始化方法的例子:
例子1:使用列表初始化Counter对象
from collections import Counter
lst = ['a', 'b', 'c', 'a', 'b', 'a']
counter = Counter(lst)
print(counter)
# Output: Counter({'a': 3, 'b': 2, 'c': 1})
上述例子中,counter对象统计了列表中每个元素的出现次数。
例子2:使用元组初始化Counter对象
from collections import Counter
tup = ('a', 'b', 'c', 'a', 'b', 'a')
counter = Counter(tup)
print(counter)
# Output: Counter({'a': 3, 'b': 2, 'c': 1})
上述例子中,counter对象统计了元组中每个元素的出现次数。
例子3:使用集合初始化Counter对象
from collections import Counter
st = {'a', 'b', 'c', 'a', 'b', 'a'}
counter = Counter(st)
print(counter)
# Output: Counter({'a': 3, 'b': 2, 'c': 1})
上述例子中,counter对象统计了集合中每个元素的出现次数。
例子4:使用字典初始化Counter对象
from collections import Counter
dic = {'a': 2, 'b': 3, 'c': 1}
counter = Counter(dic)
print(counter)
# Output: Counter({'b': 3, 'a': 2, 'c': 1})
上述例子中,counter对象统计了字典中每个键的计数值。
可以看到,Counter类的初始化方法__init__()非常灵活,可以接受多种不同类型的初始化参数。通过这种方式,可以很方便地创建和统计元素的计数值。
