#作用:去重,关系运算, #定义: 知识点回顾 可变类型是不可hash类型 不可变类型是可hash类型 #定义集合: 集合:可以包含多个元素,用逗号分割, 集合的元素遵循三个原则: 1:每个元素必须是不可变类型(可hash,可作为字典的key) 2:没有重复的元素 3:无序 注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值 #优先掌握的操作: #1、长度len #2、成员运算in和not in #3、|合集 #4、&交集 #5、-差集 #6、^对称差集 #7、== #8、父集:>,>= #9、子集:<,<=
数据类型:int/str/bool/list/dict/tuple/float/set (set类型天生去重)
一、集合的定义
s = set() #定义空集合
s = {'a','b','c','d'} #集合不是key-value 形的,无冒号
集合是无序的,没办法通过下标取值
二、集合赋值
s.add()
s = {'a','b','c','d'}
s.add('ijk') #注意add 与 update 的区别
# s.update('fgh')
print(s)
输出结果:
{'d', 'ijk', 'c', 'b', 'a'}
s.update()
输出结果:
{'f', 'b', 'g', 'd', 'a', 'c', 'h'}
s = set()
s = set('cheeseshop')
print(s)
输出结果:
{'s', 'e', 'p', 'h', 'o', 'c'}
三、删除集合元素
s.remove()
s = set('cheeseshop')
s.remove('er') # 删除不存在的会报错
s.remove('e')
print(s)
s.pop() #随机删除一个
s.discard('er') #如果删除的元素存在,删除,不存在不做处理
del s # 删除集合
四、集合常用操作
s -= set('copy') 等价于 s = s - set('copy')
取交集
s.intersection(s1) 等价于 s & s1
取并集
s.union(s1) 等价于 s | s1
取差集
s.difference(s1) 等价于 s - s1
取对称差集
s.symmetric_difference(s1) 等价于 s^s1 取既不存在于s ,也不存在于s1中的元素
示例如下: s = set('hi') t = set('hello') print(s.symmetric_difference(t))
输出结果:{'e', 'i', 'l', 'o'}