【Python3】集合
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
常用操作
set()函数创建
- s = set([3,5,9,10]) #用set()函数创建一个数值集合,type()函数测试数据类型
- t = set("Hello") #创建一个唯一字符的集合
交并差关系运算
- a = t | s # t 和 s的并集
- b = t & s # t 和 s的交集
- c = t – s # 差集(项在t中,但不在s中)
- d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
基本操作:
- t.add('x') # 添加一项
- s.update([10,37,42]) #添加多项
- t.remove('H') #删除一项,若‘H’不存在会报错
- len(s) #长度
- x in s #测试 x 是否是 s 的成员,和列表、字典、字符串一样
- x not in s #测试 x 是否不是 s 的成员
- s.issubset(t) # s <= t,测试是否 s 中的每一个元素都在 t 中,子集
- s.issuperset(t) # s >= t,测试是否 t 中的每一个元素都在 s 中,父级
- s.union(t) # s | t,返回一个新的 set 包含 s 和 t 中的每一个元素,并集
- s.intersection(t) # s & t,返回一个新的 set 包含 s 和 t 中的公共元素,交集
- s.difference(t) # s - t,返回一个新的 set 包含 s 中有但是 t 中没有的元素,差集
- s.symmetric_difference(t) # s ^ t,返回一个新的 set 包含 s 和 t 中不重复的元素,对称差集
- s.isdisjoint(t) #是否无交集
- s.pop() #随机删除,并返回
- s.discard(‘H’) #删除一项,若‘H’不存在不会报错
- s.copy() #返回“s”的一个浅复制