点击上方蓝字关注"程序员Bob"呀~
好心境决定好命运,拥有良好的心境,才会活出潇洒的人生。
——《天气之子》
如何将 一组数字 当作 一个数据 呢? 这就要讲到 组合数据类型 了,组合数据类型也包括 集合类型,序列类型和字典类型。 今天先看集合类型啦~ 关于集合的知识点:集合类型定义
集合操作符
集合处理方法
集合类型应用场景
集合是多个元素的无序组合,与在数学中的概念一致,且具有一致性集合中的元素也是要求唯一性,即在集合中只能出现一次。
即:在python中,集合中的元素也是没有顺序的。 To:在Python中要求集合的元素是不可更改的,不能是可变数据类型。建立集合类型用{}或set,而建立空集合类型,必须用set。集合用大括号{}表示,元素之间用逗号分隔,如:
A={"python",122,("python",122)}#建立一个集合类型
带圆括号的为元组类型,如上即建立了一个有三个元素的集合。
B=set("pythonpy122")#用set建立集合
To:其中的元素为:{'1','2','p'...}其中由于元素的唯一性, 所以相同的2和p和y都会被去掉。
集合操作符在数学中,集合主要有并,交,差,补运算。
那么在python中提供了6个基本操作符。
S|T #返回一个新集合,包括在集合S和T中的所有元素,即数学中的并运算S-T #返回一个新集合,包括在集合S但不在T中的元素,实现了两个集合之间的减操作S&T #返回一个新集合,包括同时在集合S和T中的元素 实现了交操作S^T #返回一个新集合,包括集合S和T中的非相同元素 实现了补操作S<=T或S<T #返回True/False,判断S和T的子集关系S>=T或S>T #返回True/False,判断S和T的包含关系
另外Python还提供了4个增强操作符:
S|=T# 更新集合S,包括在集合S和T中的所有元素S-=T #更新集合S,包括在集合S但不在T中的元素S&=T #更新集合S,包括同时在集合S和T中的元素S^=T #更新集合S,包括在集合S和T中的非相同元素
实例:
A={"p","y",123}B=set("pypy123")print(A-B)print(B-A)print(A&B)print(A|B)print(A^B)
集合处理方法
这里提供了集合相关的处理方法(如相关基本操作函数,也是最常用的):
S.add(x) #如果x不在集合S中,将x增加到S。S.discard(x) #移除S中元素x,如果x不在集合S中,,不报错。S.remove(x) #移除S中元素x,如果x不在集合S中,产生Key Error异常,#接上:比如如果你在编写代码时加入了异常处理,那么在编写代码时就可以考虑使用remove函数。S.clear() #移除S中所有元素S.pop() #随机返回S的一个元素,更新S,若S为空产生Key Error返回给用户(返回时也会将这个元素随即删除,若集合中没有这个元素,那么会返回Key Error异常)S.copy() #返回跟集合S一样的集合副本len(S) #返回集合S的元素个数x in S #判断S中元素x,x在集合中,返回True,若不在,则返回Falsex not in S #判断S中元素x,x不在集合S中,返回True,否则返回Falseset(x) #将其它类型变量x转变为集合类型
代码实例:
A={"p","y",123}for it in A: print(it,end="")try: while True: print(A.pop(),end="")except: pass
集合应用场景
包含关系的比较:比如判断某个数据是否在某一组数据中,那么这个时候就可以使用集合来处理相关数据。
代码实例:
print("p" in {"p","y",123})#判断某个数据是否在某组数据中print({"p","y"}>={"p","y",123})#数据之间的比较其实,集合用得最典型的一个应用场景就是数据去重,这也是利用了集合元素的唯一性当然,对于数据去重,你也可以通过遍历的方式逐一检查,但太麻烦了如果利用集合的方式,比如:ls=["p","y","y","p",123]s=set(ls)print(s)如果想将元素类型变回列表类型,那么只需加入ls=["p","y","y","p",123]s=set(ls)print(s)it=list(s)print(it)#将集合类型变回列表类型
(Python系列)未完待续...
往期推荐:
来学Python啦,代码复用与函数递归
2020-12-10
来学Python啦,Pyinstaller库及科赫雪花小包裹问题分析
2020-12-15
2020年12月Tiobe榜单:Python可第四次年度语言?
2020-12-08
为你,千千万万遍.
关注程序员Bob公众号,与你一起终生学习
一键三连,就差你了