人生苦短,快学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 randomdic = {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 是一种十分多样化且倒退良好的语言,因而必定会有许多我没有思考到的性能,如果大家有晓得的,能够在评论区通知我