集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据
集合的作用:
1、它可以把一个列表中重复的数据去掉,而不需要你再写判断
2、可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合
一、集合的定义
s = set() #定义空集合 s1={'hehe','hehe1','hehe3'} #直接定义一个集合 list = [2,3,1,2,3,4] #定义一个list s_list = set(list) #将list转成集合 set1 = set([1,3,4,5,6]) #这种方式和上面的都是把list转换成一个集合
二、新增集合元素
新增集合元素,可使用add和update,这二者间区别用下面两个例子说明
s = {'a','b','c','d'} s.add('123') print(s) #打印结果为:{'c', 'd', 'b', '123', 'a'} s.update('456') #update是把另外一个集合加进去 s.update({7,8,9}) print(s) #打印结果为:{'d', '5', 'b', 'c', 'a', '6', '4'} print(s) #打印结果为:{'c', 'b', 7, 8, 'a', 'd', 9}
三、删除集合元素
s.remove('d') #删除指定元素,删除不存在的元素会报错 s.pop() #随机删除一个元素 s.discard('kfc') #如果删除的元素存在,删除,不存在不做处理 print(s) del s # 删除集合
四、集合的常用操作
4.1 交集:就是两个集合相同的元素
s2 = set('1234445566778') s3 = {'1','1','3','4','5','6','7','9'} print(s3 & s2) #取交集 print(s3.intersection(s2)) #取交集 print(s2.isdisjoint(s3)) #判断s2和s3是否没有交集,没有交集的话返回True,有交集则返回False
4.2 并集:就是把两个集合合并到一起,然后去重
print(s2 | s3) #取并集 print(s2.union(s3)) #取并集
4.3 差集:A,B是两个集合,以属于A而不属于B的元素为元素的集合称为A与B的差集
s4 = {1,2,3} s5 = {1,4,6} print( s4 - s5) #取差集 s4里有,s5里没有的 print(s4.difference(s5)) #取差集 s4里有,s5里没有的 #打印结果:{2,3}
4.4 对称差集:就是合并两个集合,然后去掉俩集合里面都有的
print(s4 ^ s5) print(s4.symmetric_difference(s5)) #打印结果:{2, 3, 4, 6}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构