集合操作
Posted 七天&七天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合操作相关的知识,希望对你有一定的参考价值。
集合是一个无序的,不重复的数据组合,它的主要作用如下:
去重,把一个列表变成集合,就自动去重了
关系测试,测试两组数据之前的交集、差集、并集等关系
常用操作
list_1 = [1,2,3,4,5,6,7,4,5,6,7] list_1 = set(list_1) #把列表转换成集合,重复的内容会合并 print(list_1,type(list_1)) {1, 2, 3, 4, 5, 6, 7} <class ‘set‘>
基本操作
#交集 list_1 = set([1,2,3,4,5,6,7]) #创建一个集合 list_2 = set([3,4,5,100]) print(list_1.intersection(list_2)) #打印list_1和list_2的交集 print(list_1 & list_2) #简写 {3, 4, 5} #并集 print(list_1.union(list_2)) #将2个集合合并,并去重 print(list_1 | list_2) #简写 {1, 2, 3, 4, 5, 6, 7, 100} #差集 print(list_1.difference(list_2)) #将list_1中存在,list_2中没有的内容打印 print(list_1 - list_2) #简写 {1, 2, 6, 7} #对称差集 print(list_1.symmetric_difference(list_2)) #打印list_1和list_2中相互没有的内容 print(list_1 ^ list_2) #简写 {1, 2, 100, 6, 7} #子集 list_1 = set([1,2,3,4,5,6,7]) list_3 = set([1,2,3]) print(list_3.issubset(list_1)) #查看list_3是不是list_1的子集,因为list_3的内容list_1中全都有,所以返回True True #父集 print(list_1.issuperset(list_3)) #查看list_1是不是list_3的父集 True #判断是否有交集 print(list_1.isdisjoint(list_2))
print(list_1 >= list_2) #简写 False
其他操作
#添加 list_1 = set([1,2,3,4,5,6,7]) list_1.add(99) #添加一项 list_1.update([123,456]) #添加多项 print(list_1) {1, 2, 3, 4, 5, 6, 7, 99, 456, 123} #删除 list_1.remove(1) #删除一项 print(list_1) {2, 3, 4, 5, 6, 7} list_1.pop() #随机删一项 print(list_1.discard(9)) #删除一项,集合中没有也不会报错 print(len(list_1)) #打印集合的长度 7 #判断1是否在list_1里 if 1 in list_1: print(True) else: print(False) #判断1000是不是不在list_1里 if 1000 not in list_1: print(True) else: print(False) #浅copy list4 = list_1.copy()
以上是关于集合操作的主要内容,如果未能解决你的问题,请参考以下文章