python collections.Counter的计数

Counter是Python中用于统计元素频次的高效工具,支持列表、字符串等可迭代对象;其以字典形式返回结果,键为元素,值为出现次数;可进行访问计数、获取最常见元素、更新或减去数据及数学运算;适用于词频统计、判断异位词和算法题等场景。

python collections.counter的计数

Python 的 collections.Counter 是一个非常实用的工具,用于统计可迭代对象中元素的出现次数。它属于 collections 模块,使用起来简洁高效,特别适合处理计数相关的任务。

基本用法

Counter 接收一个可迭代对象(如列表、字符串、元组等),自动统计每个元素出现的次数,并以字典形式返回,键是元素,值是对应的计数。

from collections import Counter

统计列表中的元素

cnt1 = Counter(['a', 'b', 'a', 'c', 'b', 'a'])print(cnt1) # 输出: Counter({'a': 3, 'b': 2, 'c': 1})

统计字符串中字符

cnt2 = Counter('hello')print(cnt2) # 输出: Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})

常用操作

Counter 不仅能计数,还支持多种便捷操作:

访问某个元素的计数:像字典一样使用 counter[key],如果 key 不存在,返回 0 而不是报错。获取最常见的元素:使用 most_common(n) 获取前 n 个频率最高的元素。更新计数:使用 update() 添加更多数据;使用 subtract() 减去计数。数学运算:支持 +、-、&、| 等集合风格的运算,适用于合并或比较多个 Counter。

立即学习“Python免费学习笔记(深入)”;

cnt = Counter(['x', 'y', 'x'])

print(cnt['x']) # 输出: 3print(cnt['z']) # 输出: 0 (不会报错)

print(cnt.most_common(2)) # 输出: [('x', 2), ('y', 1)]

cnt.update(['x', 'z']) # 增加新数据print(cnt) # x:3, y:1, z:1

cnt.subtract(['x']) # 减去计数print(cnt) # x:2, y:1, z:1

实际应用场景

Counter 在实际编程中用途广泛:

统计文本中单词频率,快速找出高频词。判断两个字符串是否为字母异位词(通过比较两个 Counter 是否相等)。配合正则表达式清洗并分析日志或用户输入。在算法题中简化频次统计逻辑,比如“找出只出现一次的元素”。

基本上就这些。Counter 让计数变得直观又高效,掌握它能让代码更简洁清晰。

以上就是python collections.Counter的计数的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1380634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 21:57:56
下一篇 2025年12月14日 21:58:08

相关推荐

发表回复

登录后才能评论
关注微信