- add():添加
1 s={1,2,3,4,5,6} 2 s.add('aws') 3 print(s) 4 #结果:{1, 2, 3, 4, 5, 6, 'aws'}
- update():更新(原集合被覆盖)
1 s1={1,2} 2 s2={1,2,3,4,5,6} 3 s1.update(s2) 4 print(s1) 5 #结果:{1, 2, 3, 4, 5, 6} 6 7 8 #ps: 9 # s1.update(s2) #更新多个值 10 # s1.add(1,2,3,4) #更新一个值 11 # s1.union(s2) #不更新
- clear():清除
1 s={1,2,3,4,5,6} 2 s.clear() 3 print(s) 4 #结果:set()
- copy():拷贝
1 s={1,2,3,4,5,6} 2 s1=s.copy() 3 print(s1) 4 #结果:{1, 2, 3, 4, 5, 6}
- pop():随机删
1 s={'sb',1,2,3,4,5,6} 2 s.pop() 3 print(s) 4 #结果:{2, 3, 4, 5, 6, 'sb'}
- remove():指定删(删除元素不存在会报错)
- discard():指定删(删除元素不存在不会报错)
1 s={'sb',1,2,3,4,5,6} 2 s.remove('sb') 3 print(s) 4 #结果:{2, 3, 4, 1, 5, 6} 5 s={'sb',1,2,3,4,5,6} 6 s.remove('hellol') 7 print(s) 8 #结果: 9 '''Traceback (most recent call last): 10 File "F:pycharmPyCharm 2017.3.3helperspydevpydev_run_in_console.py", line 53, in run_file 11 pydev_imports.execfile(file, globals, locals) # execute the script 12 File "F:pycharmPyCharm 2017.3.3helperspydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile 13 exec(compile(contents+" ", file, 'exec'), glob, loc) 14 File "F:/pycharm/pycharm_file/test.py", line 181, in <module> 15 s.remove('hellol') 16 KeyError: 'hellol' 17 '''
1 s={'sb',1,2,3,4,5,6} 2 s.discard('sbbbb') 3 print(s) 4 #结果:{1, 2, 3, 4, 5, 6, 'sb'} 不会报错
- 交集
1 c_1 = {'老张','老王','老李','sb'} 2 c_2 = {'老王','sb','me'} 3 print(c_1.intersection(c_2)) 4 print(c_1&c_2) 5 #结果:{'老王', 'sb'} 6 # {'老王', 'sb'}
- 并集
1 c_1 = {'老张','老王','老李','sb'} 2 c_2 = {'老王','sb','me'} 3 print(c_1.union(c_2)) 4 print(c_1|c_2) 5 #结果:{'老张', '老李', '老王', 'sb', 'me'} 6 # {'老张', '老李', '老王', 'sb', 'me'}
- 差集
1 c_1 = {'老张','老王','老李','sb'} 2 c_2 = {'老王','sb','me'} 3 print('c_1特有的',c_1-c_2) 4 print(c_1.difference(c_2)) 5 #结果:c_1特有的 {'老李', '老张'} 6 # {'老李', '老张'} 7 c_1 = {'老张','老王','老李','sb'} 8 c_2 = {'老王','sb','me'} 9 print('c_2特有的',c_2-c_1) 10 print(c_2.difference(c_1)) 11 #结果:c_2特有的 {'me'} 12 # {'me'}
- 差集更新(原集合被覆盖)
1 c_1 = {'老张','老王','老李','sb'} 2 c_2 = {'老王','sb','me'} 3 c_1.difference_update(c_2) 4 print(c_1) 5 #结果:{'老李', '老张'}
- 交叉补集(两者交集的补集)
1 c_1 = {'老张','老王','老李','sb'} 2 c_2 = {'老王','sb','me'} 3 print('交叉补集',c_1.symmetric_difference(c_2)) 4 print('交叉补集',c_1^c_2) 5 #结果:交叉补集 {'老李', 'me', '老张'} 6 # 交叉补集 {'老李', 'me', '老张'}
- 判断子集
1 s1={1,2} 2 s2={1,2,3} 3 print(s1.issubset(s2))#s1是s2 的子集 4 #结果:True 5 print(s2.issubset(s1))#False 6 #结果:False
- 判断父集
1 s1={1,2} 2 s2={1,2,3} 3 print(s2.issuperset(s1))#s1是s2的父集 4 #结果:True
- frozenset():建立一个不可变集合
1 s=frozenset('hello') 2 print(s) 3 #结果:frozenset({'o', 'l', 'e', 'h'})
此时该集合失去了add,remove,pop等方法