1.定义:由不同元素组成,无序,且集合中元素是不可变类型。如:int,str,tuple
(1)由于是不同元素组成,所以可以用于简单的去重(不考虑顺序时可用)
a = [1,2,1,3,5,1,4,1] b= set(a) print(b) 》》》 》》》{1, 2, 3, 4, 5}
2.可变性:集合本身是可以变化的,但是也可以创建不可变集合。》》》》frozenset()
(1)增加元素:.add()
(2)删除:.1).pop()随机删除集合中的元素
2).remove(元素):指定元素删除,但如果元素不存在时会报错。
3).discard(元素):删除指定元素,且没有返回值。若集合不存在该元素时,不会报错。
s = {1,2,3,4,8,9} s.discard(9) print(s) 》》》 》》》{1, 2, 3, 4, 8}
s = {1,2,3,4,8,9} s.discard(10) print(s) 》》》 》》》{1, 2, 3, 4, 8, 9}
3.基本的运算
(1)求交集:
a = {1,2,3,4,5,6} b = {1,3,5,7,9,10} c = a.intersection(b) print(c) 用符号表示 c = a&b print(c) 》》》{1, 3, 5} 》》》 》》》{1, 3, 5}
(2)求并集:
a = {1,2,3,4,5,6} b = {1,3,5,7,9,10} c = a.union(b) print(c) 用符号表示 c = a|b print(c) 》》》{1, 2, 3, 4, 5, 6, 7, 9, 10} 》》》 》》》{1, 2, 3, 4, 5, 6, 7, 9, 10}
(3)求差集:
在a中减去在b中也有的元素
a = {1,2,3,4,5,6} b = {1,3,5,7,9,10} c = a.difference(b) print(c) 用符号表示 c = a-b print(c) 》》》 》》》{2, 4, 6} 》》》{2, 4, 6}
(4)交叉补集:简单理解为两个集合的并集减去交集得到的值
a = {1,2,3,4,5,6} b = {1,3,5,7,9,10} c = a.symmetric_difference(b) print(c) 用符号表示 c = a^b print(c) 》》》 》》》{2, 4, 6, 7, 9, 10} 》》》{2, 4, 6, 7, 9, 10}
4.更新:即进行运算后将得到的值,重新赋值给原来的集合:如图中的a
a = {1,2,3,4,5,6} b = {1,3,5,7,9,10} a.intersection_update(b) print(a) 》》》{1, 3, 5}