python集合类型

前面我们学习过了组合数据类型里面的序列类型了,接下来我们聊一聊集合类型叭

集合类型

集合类型和数学中的集合类型概念一致,是包含0个或多个数据项的无序组合,集合中的元素不可重复,元素类型只能是固定数据类型如:整数、浮点数、字符串、元组等。列表、字典、集合类型本身都是可变类型,不能作为集合的元素出现。
由于集合中的元素无序,因此没有序号、索引和切片的概念,但是集合中的元素可以动态增加或删除。生成集合有两种方法:
一种是使用大括号和赋值语句来生成如下图

#用大括号和赋值语句生成集合
S={"你今天好棒啊",12345,(987,654)}
print("S的内容是:{},S的类型是:{}".format(S,type(S)))

结果是:
在这里插入图片描述

第二种方法是使用set函数生成集合:
set函数传入的参数可以是任何组合数据类型,返回结果是一个无序的集合

#用set函数生成集合:
str=set("你今天好棒啊")#参数为字符串
tuple=set((1,2,3))#参数为元组
list=set([1,2,3,4,"z"])#参数为列表
print("str的内容是:{},其类型为:{}".format(str,type(str)))
print("tuple的内容是:{},其类型为:{}".format(tuple,type(tuple)))
print("list的内容是:{},其类型为:{}".format(list,type(list)))

结果是:在这里插入图片描述


集合类型相关操作

集合类型的操作符:
❶S-T或S.difference(T)———>:返回一个新集合,元素为在集合S中不在集合T中❷S-=T或S.difference_update(T):更新集合S,元素为在集合S中不在集合T中❸S&T或S.intersection(T):返回一个新集合,新集合为S与T的交集
❹S&=T或S.intersection_update(T):更新一个新集合,新集合为S与T的交集❺S^T或s.symmetric_difference(T):返回一个新集合,集合包括S与T中的元素除去同时在S和T中的元素
❻S^=T或s.symmetric_difference_update(T):更新集合,集合包括S与T中的元素除去同时在S和T中的元素
❼S|T或S.union(T):返回一个新集合,包括集合S和T中所有元素
❽S|=T或S.update(T):更新集合,包括集合S和T中所有元素
❾S<=T或S.issubset(T):如果S与T相同或者S是T的子集返回True,否则返回False
❿S>=T或S.issubset(T):如果S与T相同或者S是T的超集返回True,否则返回False
上述方法可以用数学的思维考虑:
❶❷为集合中的差运算,❸❹为集合中的交运算,❺❻为集合:先取交集,再对交集取其补集,❼❽为集合的并运算,❾❿用于判断一个集合是否是另一个集合的真子集。大家可以自行补充集合相关的知识。
在这里插入图片描述


集合类型的操作函数和方法:
①S.add(x):如果x不在集合S中则把x添加进集合中
②S.clear():移除S中所有数据项
③S.copy():返回集合S的一个副本
④S.pop():随机返回集合中的一个元素,若S为空则产生KeyError异常⑤S.discard(x):如果x在集合中删除该元素,若x不在集合中则不报错。
⑥S.remove(x):如果x在集合中删除该元素,若x不在集合中则产生KeyError异常
ps:异常部分讲解可以从这里看啦
⑦S.isdisjoint(T):如果集合S与T没有相同元素返回True
⑧len(S):返回S中的元素个数
⑨x in S:如果x是集合S的元素返回True,否则返回False
⑩x not in S:如果x不是集合S的元素返回True,否则返回False


说了这么多集合主要应用于判断成员关系(包含关系)、元素去重和删除数据项。
来吧,一言不合就上代码(๑‾ ꇴ ‾๑)

print("成员关系判断展示:")
animal={"dog","cat","pig","monkey"}
print("已知集合animal:{}".format(animal))
print("Question1:cat 在集合animal中吗?答:{}".format("cat" in animal))
#元素去重
print("元素去重展示:")
tuple=(123,456,789,123)
number=set(tuple)
print("number集合的元素为:{}".format(number))
#数据项删除
print("数据项删除展示:")
print("已知集合animal:{}并删除dog".format(animal))
print("删除后的集合为:{}".format(animal-{"dog"}))

结果为:
在这里插入图片描述


以上就是我们的集合类型知识点以及应用场景,你学废了吗(˶‾᷄ ⁻̫ ‾᷅˵)
下回见咯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值