1. 定义:
由不同元素组成的集合,集合中是一组无序排列的可hash值,可作为字典的key
2. 特性:
(1)可存放多个值,集合内的元素必须是唯一的,可hash的也就是不可变类型。
(2)无序
(3)集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
3. 作用:
(1)做关系运算
(2)去重
4. 集合运算:
(1)取交集:
set1 & set2 #返回set1和set2的交集
(2)取并集:
set1 | set2 #返回set1和set2的并集
(3)取差集:
set1 - set2 #返回set1和set2的差集
(4)取对称差集:
set1 ^ set2 #返回set1和set2的对称差集
5. 集合操作:
(1)求交集:
set1.intersection(set2) #返回set1和set2的交集
(2)求并集:
set1.union(set2) #返回set1和set2的并集
(3)求差集:
set1.difference(set2) #返回set1和set2的差集
set1.difference_update(set2) #计算set1和set2的差集,并赋值给set1
(4)求对称差集:
set1.symmetric_difference(set2) #返回set1和set2的对称差集
(5)更新:
set1.update(set2) #令set1 = set1 & set2
(6)增加:
set1.add(1) #给set1增加 1 这个元素
(7)删除:
set1.discard(‘a’) #删除’a’这个元素,没有不报错
set1.remove(‘a’) #删除’a’这个元素,没有会报错
set1.pop() #按索引删,pop()中不能加序号
(8)子集:
set1.issubset(set2) #判断set1是不是set2的子集
set1.issuperset(set2) #判断set2是不是set1的子集
(9)判断是否交集:
set1.isdishoint(set2) #set1和set2没有交集返回True,有交集返回False