集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
- 以下代码演示了去重,增删改查,以及关系测试供参考学习
1 #-*-coding:utf-8-*- 2 #_author_:Keep 3 4 #集合也是无序的,天生去重 5 6 list_l = [1,5,2,6,3,5,1,2,3,4] 7 list_l = set(list_l)#集合去重 8 print(list_l,type(list_l))#type查看类型 9 list_2 = set([5,9,8,6,7,2,3,5,6,1]) 10 print(list_l,list_2) 11 print(list_l.intersection(list_2))#交集 12 print(list_l.union(list_2))#并集 13 print(list_l.difference(list_2))#差集 返回list_1中有的,list_2没有的 14 print(list_2.difference(list_l)) 15 #子集 16 print(list_2.issubset(list_l))#子集 17 print(list_2.issuperset(list_l)) 18 print(list_l.symmetric_difference(list_2))#对称差集 即返回两集合都不同时存在的信息 19 print(list_2.isdisjoint(list_l))#如果两集合没有交集就返回真,否则返回假 20 21 22 23 #集合其他的一些简单表达方法 24 print(list_l & list_2)#交集 25 print(list_2 | list_l)#并集 26 #difference 27 print(list_l - list_2)#在list_1中有,但在list_2没有 28 print(list_2 ^ list_l)#对称交集 29 30 list_l.add(88888)#添加 31 list_l.update([7777,33333]) 32 print(list_l) 33 print(list_l.pop())#删除集合中的任意一个 34 print(list_l.discard(88888))#删除指定的,如果集合里没有,也不会报错 35 #list_l.remove(88) #也是删除指定的,但是如果删除的集合里没有指定的就会报错 36 print(list_l) 37 print(len(list_1))#查看集合长度