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 类创建计数器对象。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流光焰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值