集合
熟悉:
集合的定义:1、不同元素组成。
2、无序的。
3、集合中元素必须是不可变类型
set(分个输出字符串)
代码:
s = set('hello') print(s) 结果:{'h', 'e', 'o', 'l'}
set去重作用:
代码:
s = [1,5,8,3,'d',8] s = set(s) print(s) 结果:{1, 3, 5, 8, 'd'}
add(插入):类型不定
代码:
s = {1,5,8,3,5} s.add('123') print(s) 结果:{1, '123', 3, 5, 8} s = {1,5,8,3,5} s.add(555) print(s) 结果:{1, 3, 5, 8, 555}
clear(清空):清空所有
代码:
s = {1,5,8,3} s.clear() print(s) 结果:set()
copy(拷贝):浅拷贝
代码:
s = {1,5,8,3} v = s.copy() print(s) print(v) 结果:{8, 1, 3, 5} {8, 1, 3, 5}
pop(随机删除):
代码:
s = {1,5,8,3} s.pop() print(s) 结果:{1, 3, 5}
remove(指定删除):如果不存在会报错
代码:
s = {1,5,8,3,'d',4546} s.remove(8) print(s) 结果:{1, 4546, 3, 5, 'd'} s = {1,5,8,3,'d',4546} s.remove(163) print(s) 报错结果:Traceback (most recent call last): File "F:/pythonTest/Test02/Test.py", line 4, in <module> s.remove(163) KeyError: 163
discard(指定删除):不存在时不会报错
代码:
s = {1,5,8,3,'d',4546} s.discard(5) print(s) 结果:{1, 4546, 3, 8, 'd'} s = {1,5,8,3,'d',4546} s.discard(163) print(s) 不报错结果:{1, 4546, 3, 5, 8, 'd'}
重点:
intersection交集:符号是&,交集是两个集合共有的元素。
代码:
s = {1,5,8,3,'d'} s1 = {1,'aikang',3} v = s.intersection(s1) print(v) 结果:{1, 3} s = {1,5,8,3,'d'} s1 = {1,'aikang',3} v = s&s1 print(v) 结果:{1, 3}
union并集:符号是 | ,两个集合并在一起去除重复值。
代码:
s = {1,5,8,3,'d'} s1 = {1,'aikang',3} v = s.union(s1) print(v) 结果:{1, 3, 5, 8, 'aikang', 'd'} s = {1,5,8,3,'d'} s1 = {1,'aikang',3} v = s|s1 print(v) 结果:{'aikang', 1, 3, 5, 8, 'd'}
差集:存在顺序,如第一个减第二个,就是说除了第一个里边的还剩下什么是自己特有的
代码如下:
s = {1,5,8,3,'d'} s1 = {1,'aikang',3} print(s-s1) print(s1-s) 结果:{8, 'd', 5} {'aikang'}
.symmetric_difference交叉补集:符号 ^ 返回两个集合中不是共同的元素。
代码:
s = {1,5,8,3,'d'} s1 = {1,'aikang',3} v = s1.symmetric_difference(s) print(v) 结果:{'aikang', 5, 8, 'd'} s = {1,5,8,3,'d'} s1 = {1,'aikang',3} v = s^s1 print(v) 结果:{5, 8, 'd', 'aikang'}
.difference_update差集赋值回去:
代码:
s = {1,5,8,3,'d'} s1 = {1,'aikang',3} s.difference_update(s1) print(s) 结果:{'d', 5, 8} s = {1,5,8,3,'d'} s1 = {1,'aikang',3} s = s-s1 print(s) 结果:{8, 5, 'd'}
isdisjoint查询有没有交集:没有交集返回True
代码:
s = {1,5,8,3,'d'} s1 = {1,'aikang',3} print(s.isdisjoint(s1)) 结果:False s = {1,5,8,3,'d'} s1 = {'aikang'} print(s.isdisjoint(s1)) 结果:True