前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python11 集合

Python11 集合

作者头像
py3study
发布2020-01-08 16:20:14
3210
发布2020-01-08 16:20:14
举报
文章被收录于专栏:python3python3

集合

代码语言:javascript
复制
list_1 = [1,2,3,4,2,4,7,8,9]        #列表中有重复的内容

list_1 = set(list_1)            #将列表转成集合

print (list_1,type(list_1))
image_1c08jt4av17fn1bfv1rrk4h41pap9.png-2.5kB
image_1c08jt4av17fn1bfv1rrk4h41pap9.png-2.5kB

可以看到转成集合后,会将重复的内容去掉。

集合是无序的

1.交集

代码语言:javascript
复制
list_2 = set([7,8,9,11,12,13])

print (list_1.intersection(list_2))
image_1c08ju9p74kp37u3i2bvf1tktm.png-1kB
image_1c08ju9p74kp37u3i2bvf1tktm.png-1kB

将交集的内容给打印出来 其中7、8、9是两个集合中重复的内容

2.并集

代码语言:javascript
复制
print (list_1.union(list_2))
image_1c08jvmfn3b915nbp8oaekkqm13.png-1.9kB
image_1c08jvmfn3b915nbp8oaekkqm13.png-1.9kB

去重合并

3.差集、对称差集

代码语言:javascript
复制
print (list_1.difference(list_2))
image_1c08k0ti7l9712sd1ojgm7i18i81g.png-1.1kB
image_1c08k0ti7l9712sd1ojgm7i18i81g.png-1.1kB

取异值,也就是我有你没有的

代码语言:javascript
复制
print (list_2.difference(list_1))
image_1c08k1jdh15u8l7h13qg12tu9og1t.png-1kB
image_1c08k1jdh15u8l7h13qg12tu9og1t.png-1kB
代码语言:javascript
复制
print (list_1.symmetric_difference(list_2))
image_1c08k203t1n6710oaho97vb3452a.png-1.3kB
image_1c08k203t1n6710oaho97vb3452a.png-1.3kB

取两个集合相互都没有的值

4.子集、父集

代码语言:javascript
复制
 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的父集
image_1c08k2smud1ar21dkcbdrg812n.png-0.7kB
image_1c08k2smud1ar21dkcbdrg812n.png-0.7kB
代码语言:javascript
复制
print (list_3.issuperset(list_1))    #判断list_3是list_1的父集
image_1c08k4ne81cm2etf1c306db1ufv61.png-0.7kB
image_1c08k4ne81cm2etf1c306db1ufv61.png-0.7kB

5.无交集

代码语言:javascript
复制
list_4 = set([5,6,8])

print (list_3.isdisjoint(list_4))
image_1c08k638914harb3em01n4nqbo6e.png-0.6kB
image_1c08k638914harb3em01n4nqbo6e.png-0.6kB

两个集合没有交集则为True

6.运算符

代码语言:javascript
复制
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)            #对称差集
image_1c08k7hf74k8cds1iv1bisisv6r.png-3.6kB
image_1c08k7hf74k8cds1iv1bisisv6r.png-3.6kB

7.添加

代码语言:javascript
复制
list_1.add(999)
print (list_1)
image_1c08k9fkhbdv1utusl6co48q378.png-1.7kB
image_1c08k9fkhbdv1utusl6co48q378.png-1.7kB
代码语言:javascript
复制
list_1.update([666,777,888])
print (list_1)
image_1c08k9uth15grj9216f719n7kg77l.png-2.3kB
image_1c08k9uth15grj9216f719n7kg77l.png-2.3kB

8.删除

代码语言:javascript
复制
list_1.remove(999)
print (list_1)
image_1c08kaitf1okop3oef69n51am182.png-2kB
image_1c08kaitf1okop3oef69n51am182.png-2kB
代码语言:javascript
复制
print (list_1.remove('bbb'))    #删除

集合也可以使用in、copy、pop(pop是随机删除,不能指定)

代码语言:javascript
复制
list_1.discard(666)
print (list_1)

使用discard删除,与remove不同的是,如果删除的元素不存在,discard不会报错。

image_1c08ke1af1kg91v3a1se1cmd94p9s.png-1.9kB
image_1c08ke1af1kg91v3a1se1cmd94p9s.png-1.9kB
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集合
  • 1.交集
  • 2.并集
  • 3.差集、对称差集
  • 4.子集、父集
  • 5.无交集
  • 6.运算符
  • 7.添加
  • 8.删除
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档