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