day 14 集合
集合
是由大括号" { } "组成,元素使用 " , "进行分隔
1.不同的元素组成
2.无序
3.集合中元素必须是一可变类型
4.frozenset() 定义一个不可变集合
set的内置方法:
s={1,2,3,4,5,6}
1. s.add 向集合中添加元素
s = {1,2,3,4,5,6}
s.add('3')
s.add(3)
print(s) #输出结果===>{1, 2, 3, 4, 5, 6, '3'}
2. s.clear 清空集合
s = {1,2,3,4,5,6}
s.clear()
print(s) #输出结果===>set()
3. s.copy 复制集合
4. s.pop 随机删除元素
s = {1,2,3,4,5,6}
v = s.pop()
print(v)
print(s) #输出结果===>
#输出结果===>1
# {2, 3, 4, 5, 6}
5. s.remove 删除指定元素(删除的元素不存在时会报错)
s = {1,2,3,4,5,6}
v = s.remove(5)
print(s) #输出结果===>{1, 2, 3, 4, 6}
6. s.discard 删除指定元素,(删除的元素不存在时不会报错)
7. intersection 求两个集合的交集 (等同于: l & r)
l = {1,2,3,4,5,6}
r = {5,6,7,8,9}
print(l.intersection(r)) #输出===>{5, 6}
8 . union 求两个集合的并集( 等同于: l | r)
l = {1,2,3,4,5,6}
r = {5,6,7,8,9}
print(l.union(r)) #输出===>{1, 2, 3, 4, 5, 6, 7, 8, 9}
9. defference 求差集 (等同于 l - r)
l = {1,2,3,4,5,6}
r = {5,6,7,8,9}
print(l.difference(r)) #输出===>{1, 2, 3, 4}
#存在于l但不存在于r的元素
print(r.difference(l)) #输出===>{8, 9, 7}
#存在于r但不存在于l的元素
10. symmetric_difference求两个集合的交叉补集 (等同于 l ^ r)
l = {1,2,3,4,5,6}
r = {5,6,7,8,9}
print(l.symmetric_difference(r)) #输出===>{1, 2, 3, 4, 7, 8, 9}
11.difference_update 求完差集并赋值回去
l = {1,2,3,4,5,6}
r = {5,6,7,8,9}
l.difference_update(r)
print(l) #输出===>{1, 2, 3, 4}
12. isdisjoint 求两个集合有没有交集,如果有返回True如果没有返回False
l = {1,2,3,4,5,6}
r = {5,6,7,8,9}
print(l.isdisjoint(r)) #输出===>False
13 .issubset 判断一个集合是不是另一个集合的子集,如果是返回True 如果不是返回False
l = {1,2}
r = {1,2,3}
print(l.issubset(r)) #输出===>True
print(r.issubset(l)) #输出===>False
14 .issubset 判断一个集合是不是另一个集合的父集,如果是返回True 如果不是返回False
l = {1,2}
r = {1,2,3}
print(l.issuperset(r)) #输出===>False
print(r.issuperset(l)) #输出===>True
15 . update 更新集合(意思是求完两个集合的并集,并赋值回)
l = {1,2,3,4,5,6}
r = {5,6,7,8,9}
l.update(r)
print(l) #输出===>{1, 2, 3, 4, 5, 6, 7, 8, 9}