python 判断元素_来学Python啦,集合类型及其操作

27e8fdad76de7780d80ef412cd9f54ff.png

点击上方蓝字关注"程序员Bob"呀~

8e338f65b32b65234cbbb6179e89ddd3.png

好心境决定好命运,拥有良好的心境,才会活出潇洒的人生。

——《天气之子》

64987bb2ebe2703ca16bef4f7a0f3625.png 如何将 一组数字 当作 一个数据 呢? 这就要讲到 组合数据类型 了,组合数据类型也包括 集合类型,序列类型和字典类型。 今天先看集合类型啦~ 关于集合的知识点:
  • 集合类型定义

  • 集合操作符

  • 集合处理方法

  • 集合类型应用场景

集合类型定义

集合是多个元素的无序组合,与在数学中的概念一致,且具有一致性集合中的元素也是要求唯一性,即在集合中只能出现一次。

即:在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系列)未完待续...

04c7b03141108d2fb579d737e6b77a2a.png

往期推荐:

来学Python啦,代码复用与函数递归

2020-12-10

1693e18c5690a00594bbf468b47832e3.png

来学Python啦,Pyinstaller库及科赫雪花小包裹问题分析

2020-12-15

521b9b0d3a21fb65b04cfdaf5dda5b3a.png

2020年12月Tiobe榜单:Python可第四次年度语言?

2020-12-08

2747430de85b0b228754aaf24a1a2120.png

为你,千千万万遍.

关注程序员Bob公众号,与你一起终生学习

fa93dde52164bc7a38e894c5e4821900.png

一键三连,就差你了 9773cea529b4b5e529ad28b0e5d2db06.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值