python 基础之集合
集合
1 2 3 4 5 6 | s = set ( 'chen xi' ) s1 = [ 'cx' , 'ee' , 'cx' ] s2 = set (s1) #set为集合 print (s2, type (s2)) s = list (s2) print (s, type (s)) |
测试
1 2 3 4 5 | D:\python\python.exe D: / untitled / dir / for .py { 'cx' , 'ee' } < class 'set' > [ 'cx' , 'ee' ] < class 'list' > Process finished with exit code 0 |
集合的创建
1 2 | s = set ( "chenxi cx bhbhbm km" ) print (s) |
测试;帮我们去重set
1 2 | D:\python\python.exe D: / untitled / dir / for .py { 'h' , 'k' , 'c' , 'x' , ' ' , 'n' , 'e' , 'm' , 'b' , 'i' } |
注意set必须是不可哈希的值
1 2 3 | li = [[ 1 , 2 ], 3 , 'huhu' ] s = set (li) print (s) |
测试报错
1 2 3 4 5 6 7 | D:\python\python.exe D: / untitled / dir / for .py Traceback (most recent call last): File "D:/untitled/dir/for.py" , line 371 , in <module> s = set (li) TypeError: unhashable type : 'list' Process finished with exit code 1 |
判断集合是否包含指定的字符串
1 2 3 4 5 6 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) # print(s) print ( 2 in s) print ( 4 in s ) print ( 'h' in s) |
测试
1 2 3 4 5 6 | D:\python\python.exe D: / untitled / dir / for .py True False False Process finished with exit code 0 |
集合更新之添加元素
1 2 3 4 5 6 7 8 9 10 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) # print(s) # print(2 in s) # print(4 in s ) # print('h' in s) # print('huhu' in s) print (s) s.add( 'u' ) print (s) |
测试
1 2 3 | D:\python\python.exe D: / untitled / dir / for .py { 1 , 2 , 3 , 'huhu' } { 1 , 2 , 3 , 'huhu' , 'u' } |
集合更新之添加多个元素
1 2 3 4 5 6 7 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) print (s) s.add( 'u' ) print (s) s.update( 'asdfgh' ) print (s) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py { 1 , 2 , 3 , 'huhu' } { 1 , 2 , 3 , 'huhu' , 'u' } { 1 , 2 , 3 , 'huhu' , 'g' , 'h' , 'd' , 'a' , 'u' , 'f' , 's' } |
更新数字字母
1 2 3 4 5 6 7 8 9 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) print (s) s.add( 'u' ) print (s) s.update( 'asdfgh' ) print (s) s.update([ 12 , 'huhbjkjkjkjkjk' ]) print (s) |
测试
1 2 3 4 5 | D:\python\python.exe D: / untitled / dir / for .py { 1 , 2 , 3 , 'huhu' } { 1 , 2 , 3 , 'huhu' , 'u' } { 1 , 2 , 3 , 'f' , 'huhu' , 's' , 'a' , 'd' , 'g' , 'u' , 'h' } { 1 , 2 , 3 , 'f' , 'huhu' , 'huhbjkjkjkjkjk' , 's' , 12 , 'a' , 'd' , 'g' , 'u' , 'h' } |
集合删除指定元素操作
1 2 3 4 5 6 7 8 9 10 11 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) print (s) s.add( 'u' ) print (s) s.update( 'asdfgh' ) print (s) s.update([ 12 , 'huhbjkjkjkjkjk' ]) print (s) s.remove( 12 ) print (s) |
测试
1 2 3 4 5 6 | D:\python\python.exe D: / untitled / dir / for .py { 1 , 2 , 3 , 'huhu' } { 1 , 2 , 3 , 'huhu' , 'u' } { 1 , 2 , 3 , 'huhu' , 'a' , 'd' , 's' , 'h' , 'u' , 'g' , 'f' } { 1 , 2 , 3 , 'huhu' , 'a' , 'd' , 's' , 'h' , 'u' , 'g' , 12 , 'f' , 'huhbjkjkjkjkjk' } { 1 , 2 , 3 , 'huhu' , 'a' , 'd' , 's' , 'h' , 'u' , 'g' , 'f' , 'huhbjkjkjkjkjk' } |
集合之删除随意元素
1 2 3 4 5 6 7 8 9 10 11 12 13 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) print (s) s.add( 'u' ) print (s) s.update( 'asdfgh' ) print (s) s.update([ 12 , 'huhbjkjkjkjkjk' ]) print (s) s.remove( 12 ) print (s) s.pop() print (s) |
测试
1 2 3 4 5 6 7 | D:\python\python.exe D: / untitled / dir / for .py { 1 , 2 , 3 , 'huhu' } { 1 , 2 , 3 , 'u' , 'huhu' } { 1 , 2 , 3 , 'a' , 'h' , 'd' , 'u' , 'f' , 'huhu' , 'g' , 's' } { 1 , 2 , 3 , 'a' , 'h' , 'd' , 12 , 'u' , 'f' , 'huhu' , 'huhbjkjkjkjkjk' , 'g' , 's' } { 1 , 2 , 3 , 'a' , 'h' , 'd' , 'u' , 'f' , 'huhu' , 'huhbjkjkjkjkjk' , 'g' , 's' } { 2 , 3 , 'a' , 'h' , 'd' , 'u' , 'f' , 'huhu' , 'huhbjkjkjkjkjk' , 'g' , 's' } |
清空集合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) print (s) s.add( 'u' ) print (s) s.update( 'asdfgh' ) print (s) s.update([ 12 , 'huhbjkjkjkjkjk' ]) print (s) s.remove( 12 ) print (s) s.pop() print (s) s.clear()<br> print (s) |
测试
1 2 3 4 5 6 7 8 9 10 | D:\python\python.exe D: / untitled / dir / for .py { 1 , 2 , 3 , 'huhu' } { 1 , 2 , 3 , 'huhu' , 'u' } { 1 , 2 , 3 , 's' , 'f' , 'a' , 'd' , 'g' , 'huhu' , 'h' , 'u' } { 1 , 2 , 3 , 's' , 'f' , 'a' , 'huhbjkjkjkjkjk' , 'd' , 'g' , 12 , 'huhu' , 'h' , 'u' } { 1 , 2 , 3 , 's' , 'f' , 'a' , 'huhbjkjkjkjkjk' , 'd' , 'g' , 'huhu' , 'h' , 'u' } { 2 , 3 , 's' , 'f' , 'a' , 'huhbjkjkjkjkjk' , 'd' , 'g' , 'huhu' , 'h' , 'u' } set () Process finished with exit code 0 |
删除集合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | li = [ 1 , 2 , 3 , 'huhu' ] s = set (li) # print(s) # print(2 in s) # print(4 in s ) # print('h' in s) # print('huhu' in s) print (s) s.add( 'u' ) print (s) s.update( 'asdfgh' ) print (s) s.update([ 12 , 'huhbjkjkjkjkjk' ]) print (s) s.remove( 12 ) print (s) s.pop() print (s) s.clear() print (s) del s print (s) |
测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | D:\python\python.exe D: / untitled / dir / for .py Traceback (most recent call last): { 'huhu' , 1 , 2 , 3 } File "D:/untitled/dir/for.py" , line 391 , in <module> { 1 , 2 , 3 , 'u' , 'huhu' } print (s) { 's' , 1 , 2 , 3 , 'a' , 'd' , 'h' , 'u' , 'huhu' , 'f' , 'g' } NameError: name 's' is not defined { 's' , 1 , 2 , 3 , 'a' , 'd' , 12 , 'h' , 'u' , 'huhu' , 'huhbjkjkjkjkjk' , 'f' , 'g' } { 's' , 1 , 2 , 3 , 'a' , 'd' , 'h' , 'u' , 'huhu' , 'huhbjkjkjkjkjk' , 'f' , 'g' } { 1 , 2 , 3 , 'a' , 'd' , 'h' , 'u' , 'huhu' , 'huhbjkjkjkjkjk' , 'f' , 'g' } set () Process finished with exit code 1 |
比较两个集合是否相同
1 | print ( set ( 'chenxi' ) = = set ( 'cheeennnxxxi' )) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py True Process finished with exit code 0 |
判断第一个集合是否被第二个集合包含;如果完全一样打印
1 2 | print ( set ( 'chenxi' ) = = set ( 'cheeennnxxxi' )) print ( set ( 'cx' )< set ( 'chenxigg' )) |
测试
1 2 3 | D:\python\python.exe D: / untitled / dir / for .py True True |
判断第一个集合是否被第二个集合包含;如果完全一样打印
1 2 3 | print ( set ( 'chenxi' ) = = set ( 'cheeennnxxxi' )) print ( set ( 'cx' )< set ( 'chenxigg' )) print ( set ( 'cx' )< set ( 'cx' )) |
测试
1 2 3 4 5 6 | D:\python\python.exe D: / untitled / dir / for .py True True False Process finished with exit code 0 |
取两个都有的元素
1 | print ( set ( 'yfgfggcgcffxdfx sd f' ) & set ( 'hhghghg v' )) |
测试
1 | { ' ' , 'g' } |
取并集,取两个集合都包括的。只有有一个集合包含的就打印
1 | print ( set ( 'yfgfggcgcffxdfx sd f' ) | set ( 'hhghghg v' )) |
测试
1 2 3 | D:\python\python.exe D: / untitled / dir / for .py { ' ' , 'g' } { ' ' , 'h' , 'd' , 's' , 'g' , 'y' , 'f' , 'c' , 'x' , 'v' } |
取交集的另一给个方法
1 2 3 | s = set ( 'yfgfggcgcffxdfx sd f' ) v = set ( 'hhghghg v' ) print (s.intersection(v)) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py { ' ' , 'g' } Process finished with exit code 0 |
取并集
1 2 3 | s = set ( 'yfgfggcgcffxdfx sd f' ) v = set ( 'hhghghg v' ) print (s.union(v)) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py { 'g' , 'f' , 'c' , 'y' , 'h' , ' ' , 'v' , 'd' , 's' , 'x' } Process finished with exit code 0 |
取集合里的差集,s里有的v里没有的
1 2 3 | s = set ( 'yfgfggcgcffxdfx sd f' ) v = set ( 'hhghghg v' ) print (s.difference(v)) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py { 's' , 'x' , 'c' , 'y' , 'f' , 'd' } Process finished with exit code 0 |
取集合里的差集,v里有的s里没有
1 2 3 | s = set ( 'yfgfggcgcffxdfx sd f' ) v = set ( 'hhghghg v' ) print (v.difference(s)) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py { 'h' , 'v' } Process finished with exit code 0 |
草都可以从石头缝隙中长出来更可况你呢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏