数据类型---集合
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
创建集合
创建一个全是数字的集合

s = set([1,3,5,7,9]) print(s)
创建一个字符集合

t = set("hello") print(t)
创建一个混合集合

c = ([2,4,6,8,0,"hello"]) print(c)
集合关系运算
交集运算

list_1 = set([1,3,5,7,9,10]) list_2 = set([2,4,6,8,0,10]) #方法1: print(list_1.intersection(list_2)) #方法2: print(list_1 & list_2)
并集运算

list_1 = set([1,3,5,7,9,10]) list_2 = set([2,4,6,8,0,10]) #方法1: print(list_1.union(list_2)) #方法2: print(list_1 | list_2)
差集运算

list_1 = set([1,3,5,7,9,10,2]) list_2 = set([2,4,6,8,0,10]) #方法1: print(list_1.difference(list_2)) #方法2: print(list_1 - list_2)
对称差集运算

list_1 = set([1,3,5,7,9,10,2]) list_2 = set([2,4,6,8,0,10]) #方法1: print(list_1.symmetric_difference(list_2)) #方法2: print(list_1 ^ list_2)
子集运算

list_1 = set([1,3,5,7,9,10,2]) list_2 = set([2,4,6,8,0,10]) list_3 = set([1,3,5]) #list_3是不是list_1的子集 print(list_3.issubset(list_1)) #list_3是不是list_2的子集 print(list_3.issubset(list_2))
无交集运算

list_1 = set([1,3,5,7,9,10,2]) list_2 = set([2,4,6,8,0,10]) list_3 = set([1,3,5]) #list_3是不是与list_1无交集 print(list_3.isdisjoint(list_1)) #list_3是不是与list_2无交集 print(list_3.isdisjoint(list_2))
其他操作
添加一个元素

t = set("Hello") print(t) t.add('x') print(t)
添加多个元素

s = set([1,3,5,7,9]) print(s) s.update([10,30,50]) print(s)
删除一个元素

t = set("hello") print(t) t.remove('h') print(t)
打印集合长度

s = set([1,3,5,7,9]) print(s) print(len(s)) s.update([10,30,50]) print(s) print(len(s))
判断元素是否在集合里

t = set("hello") print(t) print('h' in t) print('x' in t) print('h' not in t) print('x' not in t)
浅copy

s = set([1,3,5,7,9]) print(s) c = s.copy()#浅copy print(c)