集合
一、集合的作用
知识点回顾:可变类型是不可hash类型,不可变类型是可hash类型
作用:去重,关系运算
定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则:
1.每个元素必须是不可变类型(可hash,可作为字典的key)
2.没有重复的元素
4.无序
注意集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结集合中的单个值
二、常用方法
in 和 not in
|并集(print(pythons.union(linuxs)))
&交集(print(pythons.intersection(linuxs)))
-差集(print(pythons.difference(linuxs)))
^对称差集(print(pythons.symmetric_difference(linuxs)))
==
>,>= ,<,<= 父集(issuperset),子集(issuberset)

1 >,>=,<,<= 2 set1={1,2,3,4,5} 3 set2={1,2,3,4} 4 print(set1 >= set2) 5 print(set1.issuperset(set2)) 6 7 8 set1={1,2,3,4,5} 9 set2={1,2,3} 10 print(set1<=set2) 11 print(set1.issubset(set2))
三、练习
一.关系运算
有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
1. 求出即报名python又报名linux课程的学员名字集合
2. 求出所有报名的学生名字集合
3. 求出只报名python课程的学员名字
4. 求出没有同时这两门课程的学员名字集合

1 pythons={'haiyan','fank','yaling','lalal','haidong','biubiu'} 2 linuxs={'six','wu','dabao'} 3 print(pythons & linuxs)

1 pythons={'haiyan','fank','yaling','lalal','haidong','biubiu'} 2 linuxs={'six','wu','dabao'} 3 print(pythons | linuxs)

1 pythons={'haiyan','fank','yaling','lalal','haidong','biubiu'} 2 linuxs={'six','wu','dabao'} 3 print(pythons - linuxs)

1 pythons={'haiyan','fank','yaling','lalal','haidong','biubiu'} 2 linuxs={'six','wu','dabao'} 3 print(pythons ^ linuxs)
四、方法

1 linuxs={'six','wu','dabao'} 2 linuxs.add('xiaoxiao')#说明set类型的集合是可变类型 3 linuxs.add([1,2,3])#报错,只能添加不可变类型 4 print(linuxs) 5 6 # 2. 7 linuxs={'six','wu','dabao'} 8 res=linuxs.pop() #不用指定参数,随机删除,并且会有返回值 9 print(res) 10 11 # 3. 12 res=linuxs.remove('wupeiqi')#指定元素删除,元素不存在则报错,单纯的删除,没有返回值, 13 print(res) 14 15 # 4. 16 res=linuxs.discard('egon1111111111') #指定元素删除,元素不存在不报错,单纯的删除,没有返回值, 17 18 # =========了解部分========= 19 linuxs={'wupeiqi','egon','susan','hiayan'} 20 new_set={'xxx','fenxixi'} 21 linuxs.update(new_set) 22 print(linuxs) 23 linuxs.copy() 24 linuxs.clear() 25 26 27 #解压 28 a,*_={'zzz','sss','xxxx','cccc','vvv','qqq'} 29 print(a) 30
归类 : python相关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署