• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞代码 4年前 (2022-02-20) 23次浏览 已收录 0个评论
文章目录[隐藏]

人生苦短,快学Python!

collections是python的规范库,它提供了一些解决特定问题的容器,也就是说有些问题尽管能够用list,tuple,dict解决,但解决起来太麻烦,而这些问题又常常遇到,所以他们就把这些问题的通用办法整顿了进去,放到collections库中让人应用。

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

明天咱们独自来讲讲Counter的用法!

Counter目标是用来跟踪值呈现的次数。它是一个无序的容器类型,以字典的键值对模式存储,其中元素作为key,其计数作为value。因而,咱们能够通过字典的取数形式,进行取数。在应用之前,咱们须要先导入这个库,导入办法如下:

from collections import Counter

应用Counter类,咱们须要先实例化一个Counter类,咱们先实例化一个空的Counter类。

c1 = Counter()
c1

后果如下:

咱们能够往括号中传入参数,来帮忙咱们实现不同状况下的 “值计数”

Counter类的创立

咱们能够往Counter类中,别离传入字符串、列表、元组、字典等,创立一个Counter类。

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

后果如下:

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

后果如下:

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

后果如下:

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

后果如下:

Counter类中计数元素值的拜访

和拜访字典相似,然而和字典惟一不同的是,如果所拜访的键不存在时,返回0,而不是KeyError。

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

后果如下:

Counter类中计数元素的批改

对于Counter类中的计数元素,既能够做加减法、还能够做汇合运算、也能够删除。

1. 加减法
① 加法

咱们既能够应用update函数,实现这个操作。还能够应用+号,实现这个操作。

② 减法

咱们既能够应用subtract函数,实现这个操作。然而-号用法就不同了,它应该属于汇合运算,只统计在汇合a中,而不在汇合b中的值。

2. 汇合运算

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

① 与&

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

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

c1 & c2

后果如下:

② |或

|操作,是找两个collection中的键最大的键值(能够只有一个collection有这个键,然而后果中的键值必须大于零,小于零的被舍弃)。

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

c1 | c2

后果如下:

3. 删除操作

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

c = Counter("where")

del c["r"]
c

后果如下:

Counter类中其它罕用函数

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

后果如下:

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

后果如下:

当然,咱们也能够应用dict()函数将collection中的内容转化为字典,咱们也能够应用list()函数将collection中的键转化为list,这里不在讲述,大家自行上来学习。

Python 是一种十分多样化且倒退良好的语言,因而必定会有许多我没有思考到的性能,如果大家有晓得的,能够在评论区通知我


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:Python标准库超好用的counter计数器不接受反驳

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址