摘要:
python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合。
1,集合的定义
2,集合的功能
3,集合的方法
1,集合的定义
list1 = [1,4,5,7,3,6,7,9] set1 = set(list1) set2 = {1,4,5,7,3,6,7,9}
2,集合的功能
2.1 去重
list1 = [1,4,5,7,3,6,7,9] set1 = set(list1) 运行结果:{1, 3, 4, 5, 6, 7, 9} 可以发现集合具有去重的功能。
2.2 关系测试
关系测试的话主要涉及到都是集合的方法,比如子集、交集等,详见集合的方法。
3,集合的方法
3.1,交集
set1 = {1, 3, 4, 5, 6, 7, 9} set2= set([2,6,0,7,66]) print(set1.intersection(set2)) 或者 print(set1&set2) 运行结果:{6, 7}
3.2,并集
set1 = {1, 3, 4, 5, 6, 7, 9} set2= set([2,6,0,7,66])
print(set1.union(set2))
或者 print(set1|set2)
运行结果:{0, 1, 2, 3, 4, 5, 6, 7, 66, 9}
3.3,差集(在set1里面有的,set2里面没有的,同理也可以set2里面有的,set1里面没有的)
set1 = {1, 3, 4, 5, 6, 7, 9} set2= set([2,6,0,7,66])
print(set1.difference(set2)) print(set2.difference(set1)) print(set1-set2) print(set2-set1)
3.4,子集(以bool值返回)
set1 = {1, 3, 4, 5, 6, 7, 9} set2= set([2,6,0,7,66]) print(set1.issubset(set2))
3.5,父集
set1 = {1, 3, 4, 5, 6, 7, 9} set2= set([2,6,0,7,66]) print(set1.issuperset(set2))
3.6,对称差集(将对方都没有的都取出来,或者说是去取反向差集)
set1 = {1, 3, 4, 5, 6, 7, 9} set2= set([2,6,0,7,66]) print (set1.symmetric_difference(set2)) print(set1^set2)
3.7,交集(以bool值返回)
set1 = set([1,2,3]) set2 = set([4,5,7]) print (set1.isdisjoint(set2))
3.8,集合其他方法
1,,集合添加元素
set1 = set([1,2,3]) set1.add(4) print(set1) set1.update([5,6,7]) print(set1)
2,删除集合的元素,如果不存在就会报错。
set1.remove(7) print(set1)
3,随机删除元素
print (set1.pop())
4,删除元素,如果删除的元素不存在不会报错。
set1 = set([1,2,3,'a']) set1.discard('b') print(set1)