集合的作用
知识点回顾:可变类型是不可hash类型,不可变类型是可hash类型
作用:去重,关系运算
定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则:
1.每个元素必须是不可变类型(可hash,可作为字典的key)
2.没有重复的元素
4.无序
注意集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结集合中的单个值
二、常用方法
#!/usr/bin/python3 student = {‘Tom‘, ‘Jim‘, ‘Mary‘, ‘Tom‘, ‘Jack‘, ‘Rose‘} print(student) # 输出集合,重复的元素被自动去掉 # 成员测试 if(‘Rose‘ in student) : print(‘Rose 在集合中‘) else : print(‘Rose 不在集合中‘) # set可以进行集合运算 a = set(‘abracadabra‘) b = set(‘alacazam‘) print(a) print(a - b) # a和b的差集 print(a | b) # a和b的并集 print(a & b) # a和b的交集 print(a ^ b) # a和b中不同时存在的元素 |并集(print(pythons.union(linuxs))) &交集(print(pythons.intersection(linuxs))) -差集(print(pythons.difference(linuxs))) ^对称差集(print(pythons.symmetric_difference(linuxs))) >,>= ,<,<= 父集(issuperset),子集(issuberset)
set方法
1:add方法添加,添加可变的数据类型也是会报错的
s = {1,2,5,5,‘g‘,‘h‘}
s.add(3)
prin(s)
结果:
{1, 2, 3, 5, ‘h‘, ‘g‘}
2:clear 清空集合
3:intersection 交集,相当于&
s = {1,7,9} 
s1 = {1,9,5}
print(s&s1)
print(s.intersection(s1))
结果:
{9, 1} 
{9, 1}
4:union 并集,相当于 |
 s = {1,7,9}
s1 = {1,9,5}  
print(s|s1)  
print(s.union(s1))
结果:
{1,5,7,9}
{1,5,7,9}
5:difference 差集,相当于-
s = {1,7,9}  
s1 = {1,9,5} 
print(s-s1)  
print(s.difference(s1))
结果:
{7} 
{7}
6:symmetric_difference 交叉补集,相当于^
s = {1,7,9}  
s1 = {1,9,5}  
print(s^s1)  
print(s.symmetric_difference(s1))  
结果:
{5, 7}  
{5, 7}
7:difference-update   差集更新
8:isdisjoint        判断是否有交集:
9:issubset 判断是否为子集
s1={1,2}  
s2={1,2,3}  
print(s1.issubset(s2))  
print(s2.issubset(s1))    
结果: 
True
False
10:删除
s = {9, ‘sb‘, 1, 2, 3, 4, 5, 6}  
s.pop()   # pop不能指定删除,只可以随机删除  
print(s)    
s.remove(4) # 指定删除元素,当删除的元素不存在时,删除会报错
print(s)   
s.discard(5)   # 指定元素删除;和remove唯一的区别删除不存在不会报错
print(s)       
结果:
{2, 3, 4, 5, 6, 9, ‘sb‘}
{2, 3, 5, 6, 9, ‘sb‘}
{2, 3, 6, 9, ‘sb‘}