集合
集合(set):把不同的元素组成一起形成集合,是python基本的数据类型。
集合元素(set elements):组成集合的成员
为什么需要集合?
集合的作用
1 .列表去重复数据
按照现有知识的解决思路:先设置空列表,然后使用for寻获,把需要去重的列表的第一个数据放到新列表中,然后依次取出第二个数据,把第二个数据和第一个数据作比较,如果不一样,则存入新列表中;以此类推,每取一次都要和新列表中的数据作对比,不一样的则添加入新列表中。
2. 关系测试
比如有学员同时报了python班和linux班,同时在2个列表中,可以用集合来找出该关系。
列表去重
list_1 =[1,4,5,7,3,6,7,9,9,9,1,3,2,5,11,23,222,234,35,11] list_1 = set(list_1) print(list_1)
查看运行结果,列表在转成集合后去除了重复数据。
注意点:集合也是无序的。
集合的关系测试
list_1 =[1,4,5,7,3,6,7,9,9,9,1] list_1 = set(list_1) list_2 = set([2,6,0.66,22,8,4]) # print(list_1,list_2) #交集 print(list_1.intersection(list_2)) #并集 print(list_1.union(list_2)) #差集 list_1里有,list_2里没有 print(list_1.difference(list_2)) print(list_2.difference(list_1)) #子集 list_3 = set([1,3,7]) print(list_3.issubset(list_1)) #list_3是list_1的子集,返回True #父集 print(list_1.issuperset(list_3)) #list_1是list_3的父集,返回True #对称差集 print(list_1.symmetric_difference(list_2)) print("-----------") list_4 = set([5,6,8]) print(list_3.isdisjoint(list_4)) #判断是否是分离集合,不相交
集合的运算符
list_1 =[1,4,5,7,3,6,7,9,9,9,1] list_1 = set(list_1) list_2 = set([2,6,0.66,22,8,4]) #交集(intersection):& print(list_1 & list_2) #并集(union):| print(list_1 | list_2) #差集(difference):- print(list_1 - list_2) #对称差集(symmetric_difference):^ print(list_1 ^ list_2)
集合的增删改查
list_1 = set([1,3,5,2,8,11,17]) list_1.add(999) #添加一项 list_1.update([888,777,555]) #添加多项 print(list_1) list_1.remove(888) #删除一项 print(list_1) print(len(list_1)) #集合的长度 list_1 in list_2 #判断list_1是否是list_2的成员 list_1 not in list_2 #判断list_1是否不是list_2的成员 print(list_1.pop()) #任意删除一项 print(list_1.remove(‘ddd‘)) #使用remove时,如果对象不存在,会出现报错信息 print(list_1.discard(‘ddd‘)) #使用discard时,对象不存在也不会报错
原文:http://www.cnblogs.com/phenomzh/p/6265772.html