set是一种集合的数据类型,使用{}表示
集合中元素是无序的,并且不可重复,集合最重要的作用就是可以去重
set是不可哈希的,set中的元素必须是可哈希的
可以切片,可以迭代
交集、并集、差集、对称差集:
a = {1,2,3,4,5} b = {3,4,5,6,7} #交集a,b两个集合中相同元素的集合 a.intersection(b) #{3, 4, 5} a & b #{3, 4, 5} #并集是a,b两个集合中包含的所有元素的集合 a.union(b) #{1, 2, 3, 4, 5, 6, 7} a | b #{1, 2, 3, 4, 5, 6, 7} #差集是前一个集合中包含而后一个集合中不包含的元素的集合 a.difference(b) #{1, 2} a - b #{1, 2} b.difference(a) #{6, 7} b - a #{6, 7} #对称差集是两个集合相互差集的集合 a.symmetric_difference(b) #{6, 7} a ^ b #{6, 7} b.symmetric_difference(a) #{6, 7} b ^ a #{6, 7}
父集、子集:
a = {1,2,3,4} b = {1,2,3} #判断a是否为b的父集 a.issuperset(b) #True a > b #True #判断b是否为a的子集 b.issubset(a) #True b < a #True
常用方法:
add(elmnt):添加一个元素
discard(elmnt):移除一个元素
remove(elmnt):移除一个元素,元素不存在时会异常
pop():移除并且返回一个任意的元素,set为空则异常