一、集合的定义及特性
1.集合的特性
1.1 去重,把一个列表变成集合,就自动去重了
1.2 关系测试,测试两组数据之间的交集、差集等关系
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan list_1 = [1,3,5,9,7,5,4] set_1 = set(list_1) set_2 = set([2,4,0,6,9,12]) print(set_1,set_2) #{1, 3, 4, 5, 7, 9} {0, 2, 4, 6, 9, 12} #交集 print(set_1.intersection(set_2)) # {9, 4} print(set_1 & set_2) #第二种写法 #并集 print(set_1.union(set_2)) #{0, 1, 2, 3, 4, 5, 6, 7, 9, 12} print(set_1 | set_2) #第二种写法 #差集 print(set_1.difference(set_2)) #in set_1 but no in set_2 : {1, 3, 5, 7} print(set_1 - set_2) #第二种写法 print(set_2.difference(set_1)) #in set_2 but no in set_1 : {0, 2, 12, 6} print(set_2 - set_1) #第二种写法 #子集、父集 set_3 = set([3,4,5]) print(set_3.issubset(set_1)) #子集 : Ture print(set_1.issuperset(set_3)) #父集 : Ture #对称差集 print(set_1.symmetric_difference(set_2)) # {0, 1, 2, 3, 5, 6, 7, 12} print(set_1 ^ set_2) #第二种写法 #没有交集 set_4 = set([2,0,6]) print(set_1.isdisjoint(set_4)) #是否没有交集 :Ture
二、常用方法
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan list_1 = [1,3,5,9,7,5,4] set_1 = set(list_1) #set_2 = set([2,4,0,6,9,12]) print(set_1) #新增 set_1.add(12) #添加一个值 print(set_1) set_1.update([12,10,15]) #添加多个值 print(set_1) #删除 set_1.remove(10) #参数一定要指定,且无素存在 print(set_1) set_1.pop() #随机删除一个元素。 print(set_1) set_1.discard(0) #删除不存在的元素也不会报错 print(set_1) # 长度 print(len(set_1)) #判断某个元素是否在集合中 print(10 in set_1) print(0 not in set_1)