这章我们继续来看集合的其他内置方法。
还是先定义一个集合。
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