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

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
微信扫一扫
支付宝扫一扫