【SET】集合
定义:
- 集合是无序的,集合中的元素是唯一的,集合一般用于元祖或者列表中的元素去重;
集合默认去重,元素类型不统一
- 如何创建集合:
创建集合:
1. 变量名 = set(元素) 字符串 / 列表 / 元祖 / 字典
2. 变量名 = {元素,元素,元素......} 元祖/ 字符串 / 数字
3. 元素是唯一的,用于列表和元祖的去重
集合的使用方法
【1】集合的创建和数据去重:
s1 = set("1234251") # 拆分字符串每一个元素,然后去重无序汇总 print(s1) # {'4', '3', '2', '5', '1'} s2 = set([1, 2, 3, 4, 5, 2, 1]) # 拆分列表每一个元素,然后去重汇总 print(s2) # {1, 2, 3, 4, 5} s3 = set((1, 3, 5, 2, 4, 1, 2)) # 拆分元祖每一个元素,然后去重汇总 print(s3) # {1, 2, 3, 4, 5}
# 定义字典 d = { "name": "帅帅", "age": 21, "hobby": "打羽毛球" } s = set(d) # 拆分字典每一个元素,然后拿出键值进行汇总 print(s) # {'name', 'age', 'hobby'}
# 使用大括号创建集合 s1 = {1, 2, 3, (1, 2, 3), "123"} # 创建集合,普通的变量,元祖,字符串,使用大括号是可行的 print(s1) # {1, 2, 3, (1, 2, 3), '123'} # s2 = {[1, 2, 3]} # 报错:创建集合,字典/列表 使用大括号是不可行的 # s3 = {d} # 报错:创建集合,字典/列表 使用大括号是不可行的 # 集合本身/列表/元祖/字典/字符串的去重 s1 = {1, 2, 3, 4, 5, 1, 2, 4, 2, 3, 5} # {1, 2, 3, 4, 5} print(s1) s2 = set([1, 2, 3, 4, 5, 1, 2, 4, 2, 3, 5]) # {1, 2, 3, 4, 5} print(s2) s3 = set(1, 2, 3, 4, 5, 1, 2, 4, 2, 3, 5) # {1, 2, 3, 4, 5} print(s3) di = { "姓名": "帅帅", "姓名": "杨超" } s4 = set(di) print(s4) # {'姓名'} s5 = set("1234512323") print(s5) # {1, 2, 3, 4, 5}
【2】集合添加元素的方法 集合的排列是随机排列的:
# add() 往集合中可以添加 数字/字符串/元祖 update() 可以将集合合并 s = {1, 2, 3} # s.add(6) # {1, 2, 3, 6} # s.add("帅帅") # {1, 2, 3, '帅帅', 6} # s.add((1, 2, 3)) # {1, 2, 3, '帅帅', 6, (1, 2, 3)} b = {"a", "b", "c"} s.update(b) # 谁把谁合并,调用方集合合并,被调用方保持不变 print(s) # {1, 2, 3, 'b', 'c', 'a'} print(b) # {'b', 'c', 'a'}
【3】集合删除元素的方法:
定义:
- remove() 使用remove删除集合中的元素,如果有直接删除,如果没有程序报错;
- pop() 使用pop删除是随机删除集合汇总的元素,如果集合没有程序报错;
- discard() 使用discard删除集合中的元素,如果元素不存在不做任何操作!
s = {1, 2, 3, "帅帅", "学习", "python"} # s.remove("帅帅") # {1, 2, 3, '学习', 'python'} element = s.pop() print("随机删除的值:", element, "集合本身:", s) # 随机删除的值: 学习 集合本身: {1, 2, 3, 'python', '帅帅'} s.discard("学习啦") # 元素不存在不会报错 print(s) # {2, 3, '帅帅', '学习', 'python'}
【4】集合交集和并集:
定义
- 交集:使用 & 符号连接多个集合,得到相同的元素;
- 并集:使用 | 符号连接多个集合,得到集合中的全部元素
# 本质还是集合 set ,所以交集和并集求解之后,元素的数据自动去重展示 s1 = {1, 2, 3, 4} s2 = {1, 2, 6, 7} print("s1和s2的交集:", s1 & s2) # {1, 2} print("s1和s2的并集:", s1 | s2) # {1, 2, 3, 4, 6, 7}
# 空集合 s = set() print(s) # set()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端