python_31_集合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # 集合是一个无序的,不重复的数据组合,它的主要作用如下: # 去重,把一个列表变成集合,就自动去重了 # 关系测试,测试两组数据之前的交集、差集、并集等关系 s = set ([ 3 , 5 , 9 , 10 ]) # 创建一个数值集合 t = set ( "Hello" ) # 创建一个唯一字符的集合 t.add( 'x' ) # 添加一项 s.update([ 10 , 37 , 42 ]) # 在s中添加多项 t.remove( 'H' ) #使用remove(),可以删除一项 print (s,t) #集合是无序的 print ( 'x' in t) #测试 x 是否是 s 的成员,列表,集合,字典,字符串都是这样判断 print ( 'x' not in t) #测试 x 是否不是 s 的成员 print ( len (s)) # set的长度 print (t.pop()) #任意删除一个元素,并把这个删除的元素返回 print (s.discard( 3 )) #删除指定元素,如果指定元素不存在,也不会报错,而remove则会报错 print (s.discard( 333 )) #print(s.remove(333))#指定删除的元素不存在,所以报错 print (s) list_1 = [ 1 , 4 , 7 , 5 , 6 , 3 , 6 , 7 , 9 ] list_1 = set (list_1) #创建集合,已经去掉重复的;集合是无序的 list_2 = set ([ 2 , 6 , 0 , 66 , 22 , 8 , 4 ]) print (list_1, type (list_1),list_2) #交集(两种方式) print (list_1.intersection(list_2)) print (list_1&list_2) #运算符形式 #并集(两种方式) print (list_1.union(list_2)) print (list_1|list_2) #差集(两种方式) print (list_1.difference(list_2)) #取出list_1有的,list_2中没有的(in list_1 but not in list_2) print (list_1 - list_2) print (list_2.difference(list_1)) print (list_2 - list_1) #子集,父集 print (list_1.issubset(list_2)) #判断list_1是否是list_2的子集,即:测试是否 list_1 中的每一个元素都在list_2中 print (list_1.issuperset(list_2)) #判断ist_1是否是list_2父集 即:测试是否 list_2中的每一个元素都在 list_1 中 list_3 = set ([ 1 , 3 , 7 ]) print (list_3.issubset(list_1)) print (list_1.issuperset(list_3)) #对称差集(两种方式) 项在list_1或list_2中,但不会同时出现在二者中 print (list_1.symmetric_difference(list_2)) #list_1和list_2不相同的并在一起 print (list_1^list_2) #判断是否有交集,如果有交集返回为False,否则返回为True print (list_1.isdisjoint(list_2)) list_4 = set ([ 5 , 6 , 8 ]) print (list_3.isdisjoint(list_4)) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥