1.去重,把列表变为集合就去重了。
2.关系测试,测试两组数据之前的差集,交集,并集等关系
#创建两个集合 list_1 = set([1,3,4,5,6,6,5,7,9]) list_2 = set([2,4,5,6,8,10]) print(list_1,list_2) #输出:{1, 3, 4, 5, 6, 7, 9} {2, 4, 5, 6, 8, 10} #列表变为集合自动去重 #交集 print(list_1.intersection(list_2)) #输出:{4, 5, 6} #并集 print(list_1.union(list_2)) #输出:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} #差集 print(list_1.difference(list_2)) #我有的,你没有的 #输出:{1, 3, 9, 7} print(list_2.difference(list_1)) #输出:{8, 2, 10} #子集 list_3 = set([1,3,5]) print(list_3.issubset(list_1)) #如果list_3是list_1的子集,返回Ture,否则返回False #输出:Ture print(list_1.issuperset(list_3)) #父集 #输出:Ture #对称差集 print(list_1.symmetric_difference(list_2)) #去掉两个集合相交的 #输出:{1, 2, 3, 7, 8, 9, 10} print(list_1.isdisjoint(list_2)) #如果两个集合有交集则返回False,没有交集则返回Ture #关系测试另一种方式------------------- #交集 print(list_1 & list_2) #并集 print(list_1 | list_2) #差集 print(list_1 - list_2) #对称差集 print(list_1 ^ list_2) #集合基本操作--------------------------- #增加 list_1.add(111) #添加一项 list_1.update([222,333,444]) #添加多项 print(list_1) #删除 list_1.remove(111) #删除一值,不存在报错 list_1.pop() #任意删除一个 list_1.discard(333) #删除一个值,不存在不会报错 print(list_1) # print(len(list_1)) #查看集合长度 # print(222 in list_1) #测试数据是否在集合中
原文:http://blog.51cto.com/fengxiaoli/2066131