Python 集合类型5

这章我们继续来看集合的其他内置方法。

还是先定义一个集合。

s= {1,2,3,4}

然后s点,看有哪些内置方法。

我们看到有个update,它的作用就是用一个新的集合来更新老集合,和字典一样。这个参数可以是任意类型的可迭代对象,就是能被for循环的都可以。

字典、列表、元组、集合这几个。

 s= {1,2,3,4}
 s.update({5,6,7}) 
 print(s)

打印结果就把两个集合的内容合并到了一起。

还有和update类似的还有几个,difference_update、intersection_update和
symmetric_difference_update。

这三个我就讲一个就行了,讲这个intersection_update。其他的都是类似的。

上章我们说过,intersection是取交集的意思,我在定义一个集合s2,然后intersection_update这个功能有没有返回值,我定义为s3。

结果Pytharm给我们提示,说intersection_update这个功能没有返回值。

既然没有返回值,那么我们就直接打印。

s = {1, 2, 3, 4}
s2 = {3, 4, 5}
s.intersection_update(s2)  # 取交集后  覆盖原来的集合
print(s)

打印结果我们看到了,intersection_update功能取交集之后直接把s给覆盖掉。

而difference_update和
symmetric_difference_update也会覆盖掉原来的集合,你们可以自己试试。

我们接着来看还有什么内置方法。

copy不用讲了吧,就是拷贝一份。

clear也不用讲了吧,清空集合。

然后这个pop也是删除并返回一个值,不用讲了吧。但是你要注意pop你不能传参数,因为集合不能用索引取值,而且这个删除的顺序在不同的环境下执行,删除的顺序也不一定。

这个也不重要,我们一般不会太在意集合里面的顺序。

然后来看这个remove,它的作用就是删除集合中某一个元素。我要删除什么就传什么进去。

s = {1, 2, 3, 4}
s2 = {3, 4, 5}
s.remove(4)
print(s)

但是如果你传的值,不在集合里面,那么就直接会报错。

还有一个功能和remove一样,都是删除集合的某一一个元素,叫做discard,唯一不一样的地方就是,如果你删除的元素集合里不存在它也不会报错。

s = {1, 2, 3, 4}
s.remove(5)
print(s)

s = {1, 2, 3, 4}
s.discard(5)  
print(s)

然后再来看这个add,它的作用是为集合添加一个元素,和update有区别。update是要给它传一个集合,或者其他可迭代对象。add只能传一个单独的值。

s = {1, 2, 3, 4}
s.add(6)  
print(s)

现在就剩下最后一个没有讲了,isdisjoint。它的作用是,如果两个集合没有交集,就返回True。

来看怎么使用。先定义一个两个集合。

s1 = {1, 2, 3 }
s2 = {4, 5, 6}
res = s1.isdisjoint(s2)  
print(res)

这两个集合没有交集,就打印True。如果我在s1加上4,那么两个集合就有交集了。就会打印False。

s1 = {1, 2, 3, 4}
s2 = {4, 5, 6}
res = s1.isdisjoint(s2)  # 看两个集合有没有交集 相同的元素  没有交集就是true 有就false
print(res)

未经允许不得转载:445IT之家 » Python 集合类型5

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏