Python标准库:超好用的counter计数器,不接受反驳!

使用Python的Counter方法统计列表中出现次数最多的元素 如果我们需要统计列表中出现次数最多的元素,可以使用Python的collections库中的Counter类。如果我们想要统计列表中出现次数最多的元素,可以使用Counter类的most_common()方法。除了统计列表中出现次数最多的元素,Counter类还可以用来统计任何可哈希(hashable)的对象(例如字符串、元组等)中各个元素的出现次数。总之,使用Python的collections库中的Counter类可以方便地统计列表中各个元素的出现次数,并且代码简单易懂,十分实用。 阅读详情

128226385144aecbbca9d18bdadc6b30.png

人生苦短,快学Python!

collections是python的标准库,它提供了一些解决特定问题的容器,也就是说有些问题虽然可以用list,tuple,dict解决,但解决起来太麻烦,而这些问题又经常遇到,所以他们就把这些问题的通用方法整理了出来,放到collections库中让人使用。

collections中一共有9种容器,其中counter、defaultdict、deque、namedtuple、orderdict比较常用。

11ad8906e84ee2818c2f9aa7bd9132d5.png

今天我们单独来讲讲Counter的用法!

Counter目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。因此,我们可以通过字典的取数方式,进行取数。

在使用之前,我们需要先导入这个库,导入方法如下:

from collections import Counter

使用Counter类,我们需要先实例化一个Counter类,我们先实例化一个空的Counter类。

c1 = Counter()
c1

结果如下:

6950d8cf06459c3c4b1ec229983ec03d.png

我们可以往括号中传入参数,来帮助我们实现不同情况下的 "值计数"。

Counter类的创建

我们可以往Counter类中,分别传入字符串、列表、元组、字典等,创建一个Counter类。

1. 传入一个字符串
c2 = Counter("hello huang")
c2

结果如下:

5e56fb9266efe1d51e4fb78f31d6a21b.png

2. 传入一个列表
lis = [i for i in "chinese"]
c3 = Counter(lis)
c3

结果如下:

88f78a5a45fe11f684de7a485b30b96b.png

3. 传入一个字典
import random
dic = {k: random.randint(1,4) for k in "abcdefg"}
c4 = Counter(dic)
c4

结果如下:

daabcfbfb21fd310375fd4ff6c0b49e5.png

4. 关键字参数
c5 = Counter(a=7,b=8)
c5

结果如下:

44e6b83c782a8142a4a79ae26fe85baa.png

Counter类中计数元素值的访问

和访问字典类似,但是和字典唯一不同的是,如果所访问的键不存在时,返回0,而不是KeyError。

c = Counter("hello huang")
c["h"]

结果如下:

911c98f15f06721d9c7e05efa3c092a2.png

Counter类中计数元素的修改

关于Counter类中的计数元素,既可以做加减法、还可以做集合运算、也可以删除。

1. 加减法
① 加法

我们既可以使用update函数,完成这个操作。还可以使用+号,完成这个操作。

eb76f785041531120259c693de0f32b6.png

② 减法

我们既可以使用subtract函数,完成这个操作。但是-号用法就不同了,它应该属于集合运算,只统计在集合a中,而不在集合b中的值。

9192c97d207c78c6e0aac25267b72379.png

2. 集合运算

上面的-号就是一个集合运算,我在为大家介绍一下与&、|或操作。

① 与&

&操作,是找两个collection中都有的键最小的键值。

c1 = Counter("chinese")
c2 = Counter("where")

c1 & c2

结果如下:

2742edc4d10504246b6e789d48174e04.png

② |或

|操作,是找两个collection中的键最大的键值(可以只有一个collection有这个键,但是结果中的键值必须大于零,小于零的被舍弃)。

c1 = Counter("chinese")
c2 = Counter("where")

c1 | c2

结果如下:

0754e019362f3089962625af318e4a0c.png

3. 删除操作

删除元素使用的是del函数。

c = Counter("where")

del c["r"]
c

结果如下:

e91b73ee9090fb3584d1b33d224a4156.png

Counter类中其它常用函数

1. most_common(n)找出重复次数最多的前n个。
c = Counter("aabbbcccddddeeeee")
c.most_common(2)

结果如下:

f5f032b66ed0979f61a258483d57c093.png

2. key和value用于获取Collections键和键值的集合。
c = Counter("chinese")
c.keys()
c.values()

结果如下:

7c0965744a1ba447bb655e66ceecaebf.png

当然,我们也可以使用dict()函数将collection中的内容转化为字典,我们也可以使用list()函数将collection中的键转化为list,这里不在讲述,大家自行下去学习。

最后推荐一下我们的星球:有兴趣玩一些趣味的Python程序,并且想玩服务器编程的可以加入我们,我们一年会带大家玩7个项目,大家可以修改我们的代码来扩展它的功能,比如监控股票的可以改成监控基金的,或者是多个金融数据产品,然后根据一些均线策略来提醒你的交易策略等等。

目前星球的价格是一年88元(算下来一个月6块多),还有12元的优惠券限时领取。有兴趣的加入我们的,速来。

71b2f01b079c05651049e00c34088b92.png

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看200个Python案例!

在已有win10系统下安装Ubuntu,最后出现执行‘grub-install/dev/nvme0n1p5‘失败的致命错误的解决方案 本人电脑型号戴尔灵越,两个SSD512G固态硬盘,c盘为系统盘. Ubuntu版本为20.04LTS,在官网下载https://ubuntu.com/download/desktop/thank-you?version=20.04.3&architecture=amd64 系统盘制作工具为Rufus-3.15http://rufus.ie/zh/ 安装过程网上很多,在这里就不赘述了. 其他安装过程都很顺利,直至安装最后出现这个 本来安装了到最后还以为成了,结果又不行...... 后. 阅读详情

相关推荐

AI 编程助手新玩法:用 Claude Code 一键调用国产大模型(DeepSeek/Kimi/GLM 对比)

本文深入评测了Claude Code与三大国产大模型(DeepSeek、Kimi、智谱GLM)的集成效果,详细对比了它们在代码生成质量、响应速度和特殊场景支持度等方面的差异。通过实测数据和实战技巧,帮助开发者选择最适合的AI编程助手组合,提升开发效率。

weixin_30955617的博客 487

python中counter怎么用_带你走进python 计数器类Counter的用法

什么是Counter?Counter 是一个在collections包里的类,正如其名,是一个用于计数的工具。我们可以用Counter(nums)这样的构造函数构造一个Counter类,其中nums是一个列表。构造好的Counter实例可以看作一个字典,键是nums的每一项,值是它的出现次数。如果上面的叙述让你感到很混乱的话,我不妨举个例子:如果一个列表a = [1,1,3,4,3],你想要统计每...

weixin_35101697的博客 7569

Comsol超声空化气泡仿真入门:从零搭建模型到网格划分的完整流程

本文详细介绍了使用Comsol进行超声空化气泡仿真的完整流程,从物理基础理解到模型搭建、网格划分及求解器设置。通过具体步骤和示例代码,帮助初学者和工程师快速掌握这一关键技术,应用于医疗设备和工业清洗等领域。

weixin_29289821的博客 160

python counter怎么用_Counter的基本用法

Counter类:Counter类的目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和负数)。Counter类和其他语言的bags或multisets很相似。(一)创建Counter类c = Counter() #创建一个空的Counter类c = Counter('gallahad'...

weixin_33915154的博客 7378

AVM环视算法实战:从3D碗型投影到多场景模式切换的实现与优化

本文深入探讨了AVM环视算法在3D碗型投影和多场景模式切换中的实现与优化。通过分析3D碗型投影的核心原理和动态视角调节技术,展示了如何实现从超广角模式到转向模式的无缝切换。文章还分享了性能优化实战经验,包括实时性提升和图像拼接质量优化,为开发者提供了宝贵的AVM系统开发指南。

weixin_42573113的博客 168

基于opencv-ANN的水果识别模型训练

本文通过opencv-ann-mlp训练模型,实现对五种水果进行分类识别。本文详细介绍该项目的各个过程,包括数据准备、预处理、样本读取、训练数据集制作、训练标签制作、模型参数设置、模型训练,模型测试验证等,总结该过程需要注意的事项。

qq_15985873的博客 3972

Python的counter()函数

Counter() 是 collections 库中的一个函数,可以用来统计一个 python 列表、字符串、元组等可迭代对象中每个元素出现的次数,并返回一个字典。可以看下常用的 Counter() 例子: from collections import Counter 1、统计列表中的词频: 列表中含有一串整数,要统计每个数出现的次数,可以像下面这样: list_1 = ['hh', "hh", "k", "f"] counter = Counter(list_1) print(counter) for

weixin_46012071的博客 1万+

Linux音频处理实战:从MP3解码到ALSA播放的完整流程解析

本文详细解析了Linux环境下从MP3文件解码到通过ALSA播放音频的完整实战流程。文章深入剖析了MP3文件结构、PCM原始音频数据格式,并提供了使用ffmpeg/mpg123解码、以及利用ALSA库进行C语言编程播放的实用代码示例,帮助开发者彻底掌握Linux音频处理的核心链路。

weixin_29206669的博客 72

Python精进系列:Counter 函数

Counter 是 collections 模块中的一个类,专门用于对可迭代对象中的元素进行计数。无论是列表、元组,还是字符串,只要是可迭代的,Counter 都能轻松应对。它会返回一个类似字典的计数器对象,其中键为元素本身,对应的值则是该元素在可迭代对象中出现的次数。这种简洁而高效的数据统计方式,使得 Counter 在众多数据处理任务中备受青睐。

进一步有进一步的欢喜~ 5413

从安装Eclipse 开始 开发第一个 CDS View

一篇超级简单快速的 创建CDS VIEW 入门步骤介绍文章。

IT小职员 4248

利用DRONEKIT-SITL + MAVPROXY + QGroundControl模拟飞行

dronekit: 一种用于无人机控制的python库。 dronekit-sitl:一种本地仿真工具,相当于本地虚拟化了一个无人机。 mavproxy:数据转发软件(类似于插线板的感觉,一个输入,多个相同的输出)。打开一个Anaconda prompt 首先激活相应的环境 然后运行如下命令: 保持2中的Anaconda prompt处于运行状态,另打开一个Anaconda prompt窗口,运行如下命令: tcp:127.0.0.1:5760: SITL默认端口,作为mavproxy的输入,把输入数据转发

Done___的博客 4344

Python标准库collections库:超好用的counter计数器,不接受反驳!

Python标准库collections库:超好用的counter计数器,不接受反驳!

数据分析与统计学之美 5615

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Python里最好用的counter计数器,不接受反驳!

collections是python的标准库,它提供了一些解决特定问题的容器,也就是说有些问题虽然可以用list,tuple,dict解决,但解决起来太麻烦,而这些问题又经常遇到,所以他们...

cainiao_python的博客 651

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Python标准库:超好用的counter计数器,不接受反驳

人生苦短,快学Python! collections是python的标准库,它提供了一些解决特定问题的容器,也就是说有些问题虽然可以用list,tuple,dict解决,但解决起来太麻烦,而这些问题又经常遇到,所以他们就把这些问题的通用方法整理了出来,放到collections库中让人使用。 collections中一共有9种容器,其中counter、defaultdict、deque、namedtuple、orderdict比较常用。 今天我们单独来讲讲Counter的用法! Counter目的是用来跟

m0_64728691的博客 217

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python里最好用的counter计数器,不接受反驳

collections是python的标准库,它提供了一些解决特定问题的容器,也就是说有些问题虽然可以用list,tuple,dict解决,但解决起来太麻烦,而这些问题又经常遇到,所以他们就把这些问题的通用方法整理了出来,放到collections库中让人使用。collections中一共有9种容器,其中counter、defaultdict、deque、namedtuple、orderdict比较常用。 今天我们单独来讲讲Counter的用法!Counter目的是用来跟踪值出现的次数。它是一个无..

m0_62051288的博客 276

python Counter() 函数

目录 1、以统计列表中的词频为例 2、寻找出现次数最多的 k 个数 刷 leetcode 时发现了可以很方便地统计词频的 Counter() 函数,有了这个函数就不用手动的使用 for 循环来手动统计词频啦! Counter() 是 collections 库中的一个函数,可以用来统计一个 python 列表、字符串、元组等可迭代对象中每个元素出现的次数,并返回一个字典。可以看下常用的 Counter() 例子: 1、以统计列表中的词频为例 列表中含有一串整数,要统计每个数出现的次数,可以像下.

Flag_ing的博客 4万+

python集合可以修改吗_python集合是可变的吗

集合是一个无序的可变的序列。集合中的元素必须是可hash的,即不可变的数据类型。空集合a=set()注意a={}创建的是一个空字典。set —— 可变集合。集合中的元素可以动态的增加或删除。frozenset —— 不可变集合。集合中的元素不可改变。注:对于 并集, 交集, 差集 等的返回值,与最左边的操作数具有相同的类型。例如:s & t 取交集。s集合是一个set类型的集合,t集合是...

weixin_39620118的博客 3713

Python标准库——collections模块的Counter类

Python标准库——collections模块的Counter类 Counter类的目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和负数)。Counter类和其他语言的bags或multisets很相似。 1. 简单使用 2. 使用Counter库统计在词袋中的每个词的个数,并将词与出现次数表示为字典 假设在当前目录下有一个txt文件F.txt,里面是分词好了的一些词如 运行如下代码: f

qq_40420039的博客 637

Python笔记

可以用来统计一个 python 列表、字符串、元组等。方法来查找出现频率最高的 k 个数字及其出现次数。中每个元素出现的次数,并返回一个。统计完词频后可以使用。

2301_78295022的博客 1748

PyQt实现 计数器--快速掌握python开发桌面软件

目录 1、PyQt介绍 2、界面效果 3、主要代码 4、全部代码(拷贝即可运行) 1、PyQt介绍 PyQt是python的GUI框架之一,这是一个跨平台的UI框架,即可以运行在windows、Linux、Mac上,可以用来替换Python内置的TKinter。 PyQt支持Python2.x和Python3.x。而Qt是Digia公司的产品,是一个跨平台的C++GUI开发框架,也支持python, 目前Qt逐步取代MFC,成为大多数公司开发GUI程序的主要选择,其丰富的类库和一份代码不同编

c_shell_python的博客 1613

列表的查找方法、Counter()

中的一个类,用于计算可迭代对象中各个元素的出现次数,并以字典的形式返回结果。它返回的字典中,键是可迭代对象中的元素,而值是该元素在可迭代对象中出现的次数。函数是 Python 标准库。

weixin_44715917的博客 205

python利用collections-Counter()获取list有序去重复

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

cced1934的博客 1510

Python计数器collections.Counter用法

一个计数器工具提供快速和方便的计数,Counter是一个dict的子类,用于计数可哈希对象。它是一个集合,元素像字典键(key)一样存储,它们的计数存储为值。计数可以是任何整数值,包括0和负数,Counter类有点像其他语言中的bags或multisets。简单说,就是可以统计计数,来几个例子看看就清楚了。#计算top10的单词 from collections import Counter import re。

flyingluohaipeng的博客 2944

Python进阶(九)常用高级函数Counter、defaultdict、nametuple、map、reduce、filter、groupby

  Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple collections.namedtuple(typename, field_ names, *, verbose= False, rename= False, module=None)   namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。   这样一来,我们用nametuple可以很方便地定义一种数据类型,它具备tu

小小何先生的学习之旅 2682

Python中的Counter类入门(列表计数,生成列表等等)

classcollections.Counter([iterable-or-mapping])Counter是用于计算可哈希对象的字典子类。它是一个无序的集合,其元素以字典key的形式存储,并将其计数存储为字典value。 计数允许为包括零或负计数的任何整数值。 Counter类与其他语言的bag或multisets类似。先导入并实例化Counter>>> from colle...

migue_math 1万+
上一篇: 使用Python开发一个恐龙跑跑小游戏,玩起来
下一篇: 用Python爬了微信好友,原来他们是这样的人...
菜鸟学Python
博客等级 码龄9年 8042粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值