python-day5-集合
一、集合定义
1.集合内元素不可重复
2.无序的,不可切片
3.可变的,如果需要创建不可变集合,使用s = frozenset()
4.集合内元素只能是不可变类型:数字、字符串、元组
5.集合是可循环的
二、集合常见操作
1.直接创建集合 s = {1,2,'a','bex'}
2.由列表创建集合,也可以将集合转换为列表
l = [1,2,'a','bex']
s = set(l)
print(s)
names = list(s)
print(names)
3.add添加单个元素
s.add(5)
print(s)
4.pop随机删除元素
v = s.pop()
print(v,s) #v = 删除掉的元素
5.remove删除元素,如果元素不存在,会报错
v = s.remove(2)
print(v,s) #v = None,无法获取删除掉的元素
6.discard删除元素,如果元素不存在,也不会报错
s.discard(2)
print(v,s) #v = None,无法获取删除掉的元素
7.copy复制集合
8.update增加多个元素,括号内内容可以是任何可循环获取的数据类型,比如字符串、列表、元组
s.update(['6',7])
s.update('ssqwre')
s.update((45,67))
print(s)
三、集合间操作
s1 = {1,2,3}
s2 = {2,3,4}
1.求交集
s1_and_s2 = s1.intersection(s2)
print(s1_and_s2)
print(s1&s2)
2.求并集
s1_or_s2 = s1.union(s2)
print(s1_or_s2)
print(s1|s2)
3.求差集
s1_not_s2 = s1.difference(s2)
print(s1_not_s2)
print(s1-s2)
4.求交叉补集
not_s1_and_s2 = s1.symmetric_difference(s2)
print(not_s1_and_s2)
print(s1^s2)
5.求出交、并、差、交叉补集后,将结果更新到对应的集合
intersection_update,union_update,difference_update,symmetric_difference_update
6.isdisjoint 判断是否是无交集,如果两个集合无交集,则返回True
print(s1.isdisjoint(s2))
7.issubset 判断s1是否是s2的子集,如果是,则返回True。判断s1 <= s2?
print(s1.issubset(s2))
8.issuperset 判断s2是否是s1的父集,如果是,则返回True. 判断s2 >= s1?
print(s2.issuperset(s1))

浙公网安备 33010602011771号