一、集合(set)
①基本特征:
(1)集合内的元素是无序的,集合是可变类型
(2)集合的元素是不重复的,元素必须是不可变类型
②基本格式:
s={"hello",1,2}
③集合的遍历,查看
通过for循环
s={"hello",1,2}
for i in s:
print(i)
二、集合的运算
所有集合的运算都不改变集合的内容,只是运算返回一个结果(返回一个集合)
①交集
返回两个集合相同的部分
s1={1,2,4}
s2={1,2,3}
print(s1&s2) #{1, 2}
print(s1.intersection(s2)) #{1, 2}
②并集
合并两个集合,去除重复的
s1={1,2,4}
s2={1,2,3}
print(s1|s2) #{1, 2, 3, 4}
print(s1.union(s2)) #{1, 2, 3, 4}
③差集
集合相减,返回另一个集合没有的元素
相减顺序不同,得到的结果也不同
s1={1,2,4}
s2={1,2,3}
print(s1-s2) #{4}
print(s2.difference(s1)) #{3}
④交叉补集
先合并两个集合,去除两个集合共有的部分
s1={1,2,4}
s2={1,2,3}
print(s1^s2) #{3, 4}
print(s2.symmetric_difference(s1)) #{3, 4}
三、集合魔法(方法)
①add
添加新元素,如果元素已存在忽略
s1={1,2,4}
s1.add(2)
s1.add("Hello")
print(s1) #{'Hello', 1, 2, 4}
②update
讲一个集合添加进当前集合中,如果有重复的去重
s1={1,2,4}
s1.update({3,4})
print(s1) #{1, 2, 3, 4}
③clear
清空集合
s1={1,2,4}
s1.clear()
print(s1) #set()
④copy
拷贝集合
s1={1,2,4}
s2=s1.copy()
print(s2) #{1, 2, 4}
⑤pop
随机删除一个元素
s1={2,4,1,3,5}
s1.pop()
print(s1) #{2, 3, 4, 5}
⑥remove、discard
删除指定元素
remove:删除元素不存在会报错
discard:删除元素不存在不会报错
s1={2,4,1,3,5}
s1.discard(2)
s1.remove(5)
print(s1) #{1, 3, 4}
⑦isdisjoint
如果两个集合的交集为空,返回True
s1={1,2,3}
s2={4,5,6}
print(s1.isdisjoint(s2)) #True
⑧issubset、issuperset
issubset:判断当前集合是否为参数内集合的子集
issuperset:判断当前集合是否为参数内集合的父集
s1={1,2}
s2={1,2,3}
print(s1.issubset(s2)) #True
print(s2.issubset(s1)) #False
print(s2.issuperset(s1)) #True
⑨difference_update
相当于集合做集差运算,但是此函数会改变原集合的内容
python_l={'lcg','szw','zjw'}
linux_l={'lcg','szw','sb'}
python_l.difference_update(linux_l)
print(python_l) #{'zjw'}