Python11 集合
短信预约 -IT技能 免费直播动态提醒
集合
list_1 = [1,2,3,4,2,4,7,8,9] #列表中有重复的内容
list_1 = set(list_1) #将列表转成集合
print (list_1,type(list_1))
可以看到转成集合后,会将重复的内容去掉。
集合是无序的
1.交集
list_2 = set([7,8,9,11,12,13])
print (list_1.intersection(list_2))
将交集的内容给打印出来
其中7、8、9是两个集合中重复的内容
2.并集
print (list_1.union(list_2))
去重合并
3.差集、对称差集
print (list_1.difference(list_2))
取异值,也就是我有你没有的
print (list_2.difference(list_1))
print (list_1.symmetric_difference(list_2))
取两个集合相互都没有的值
4.子集、父集
list_3 = set([1,3,7])
print (list_3.issubset(list_1))
#判断list_3是否是list_1的子集(list_3的1,3,7在list_1中也存在)
print (list_1.issuperset(list_3)) #判断list_1是list_3的父集
print (list_3.issuperset(list_1)) #判断list_3是list_1的父集
5.无交集
list_4 = set([5,6,8])
print (list_3.isdisjoint(list_4))
两个集合没有交集则为True
6.运算符
list_1 = set([1,2,3,4,2,4,7,8,9])
list_2 = set([7,8,9,11,12,13])
list_3 = set([1,3,7])
list_4 = set([5,6,8])
print (list_1 & list_2) #交集
print (list_1 | list_2) #并集
print (list_1 - list_2) #差集,我有你没有
print (list_1 ^ list_2) #对称差集
7.添加
list_1.add(999)
print (list_1)
list_1.update([666,777,888])
print (list_1)
8.删除
list_1.remove(999)
print (list_1)
print (list_1.remove('bbb')) #删除
集合也可以使用in、copy、pop(pop是随机删除,不能指定)
list_1.discard(666)
print (list_1)
使用discard删除,与remove不同的是,如果删除的元素不存在,discard不会报错。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341