Python 的counter()函数解析与举例

        说明

1、创建计数器对象

2、访问计数器

3、计数器操作

4、空计数器


说明

在 Python 中,collections 模块提供了 Counter 类,用于计算可迭代对象中元素的数量。Counter 是一个字典的子类,它以元素作为键,以元素出现的次数作为值进行计数。

1、创建计数器对象

from collections import Counter

my_list = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
my_counter = Counter(my_list)

print(my_counter)
# 输出: Counter({4: 4, 3: 3, 2: 2, 1: 1})

2、访问计数器

print(my_counter[3])
# 输出: 3

3、计数器操作

  • elements() 方法返回计数器中的所有元素:
print(list(my_counter.elements()))
# 输出: [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
  • most_common(n) 方法返回出现次数最多的前 n 个元素及其计数:

print(my_counter.most_common(2))
 # 输出: [(4, 4), (3, 3)]

  • subtract(iterable) 方法从计数器中减去一个可迭代对象中的元素:

    another_list = [1, 2, 2, 3, 4, 4] 
    my_counter.subtract(another_list) 
    print(my_counter) 
    # 输出: Counter({4: 2, 3: 2, 2: 1, 1: 0})

  • update(iterable) 方法将一个可迭代对象中的元素及其计数添加到计数器中:

    another_list = [4, 5, 5, 6] 
    my_counter.update(another_list) 
    print(my_counter) 
    # 输出: Counter({4: 3, 5: 2, 3: 2, 2: 1, 1: 0, 6: 1})
  • 使用加法运算符 + 可以实现计数器对象之间的合并:

    counter1 = Counter({1: 2, 2: 3}) 
    counter2 = Counter({2: 1, 3: 4}) 
    merged_counter = counter1 + counter2 
    print(merged_counter) 
    # 输出: Counter({2: 4, 3: 4, 1: 2})

这些只是 Counter 类的一些常用方法和用法示例。Counter 类还提供了其他方法,如 subtract(), clear(), copy() 等,可以根据需要选择使用。

4、空计数器

cur_Counter = Counter()

在上述代码中,cur_Counter 是一个名为 cur_Counter 的变量,它被赋值为一个空的 Counter 对象。

通过这个空的计数器对象,你可以调用 Counter 类提供的各种方法来实现对元素的计数、统计和操作。

比如,你可以通过 update() 方法将元素添加到计数器中:

cur_Counter.update([1, 2, 2, 3, 3, 3])

然后可以使用 cur_Counter 对象中的元素及其计数:

print(cur_Counter)

# 输出:Counter({3: 3, 2: 2, 1: 1})

上述代码中,update() 方法将列表 [1, 2, 2, 3, 3, 3] 中的元素及其计数添加到了 cur_Counter 计数器对象中,最后输出了计数结果。

请注意,为了使用 Counter 类,你需要首先导入 collections 模块:

这样才能正常地使用 Counter 类创建计数器对象。

你可能感兴趣的:(Python,python,开发语言,leetcode)