python set集合一些基本方法
set集合是一个无序且不重复的元素集合
这个数据类型没有重复的,而且也没有顺序
一些基本的方法:
添加元素
s1 = {11, 22, 33} s1.add(123)#添加一个新的元素 print(s1) {123, 33, 11, 22}
清除内容:
s1 = {11, 22, 33} s1.clear()#clear会清除所有的内容 print(s1) set()
差集
s1 = {11, 22, 33} s2 = {22, 33, 44} s3 = s1.difference(s2)#只输出前者存在的,后者不存在的 print(s3) {11}
s1 = {11, 22, 33} s2 = {22, 33, 44} s1.difference_update(s2)#更新差集到前者,只输出前者存在的,后者不存在的,但是这个不需要第三个变量 print(s1) {11}
交集:
s1 = {11, 22, 33} s2 = {22, 33, 44} s3 = s1.intersection(s2)#只输出它俩公有的 print(s3) {33,22}
s1 = {11, 22, 33} s2 = {22, 33, 44} s1.intersection_update(s2)#更新交集到前者,只输出它俩公有的,这种方法不需要第三个变量 print(s1) {33,22}
移出指定元素:
s1 = {11, 22, 33} s2 = {22, 33, 44} s1.discard(11)#可以看到如果存在,就删除后返回剩余的元素 print(s1) s2.discard(456)#如果不存在,也返回剩余的元素,不会报错 print(s2) {33, 22} {33, 44, 22}
判断是否有交集:
s1 = {11, 22, 33} s2 = {22, 33, 44} print(s1.isdisjoint(s2))#判断是否有交集,如果没有返回True,否者返回False False
随机移出元素:
s1 = {11, 22, 33} s1.pop()#这个是随机移出得,因为set集合没有顺序 print(s1) {11,33}
移出指定元素:
s1 = {11, 22, 33} s2 = {22, 33, 44} s1.remove(11)#存在则不报错 print(s1) s2.remove(456)#不存在报错 print(s2) {33,22} s2.remove(456) KeyError: 456
对称差集:
s1 = {11, 22, 33} s2 = {22, 33, 44} s3 = s1.symmetric_difference(s2)#将它俩所有不相同的元素放在一起 print(s3) {11,44}
s1 = {11, 22, 33} s2 = {22, 33, 44} s1.symmetric_difference_update(s2)#将更新的内容放到前者,不需要第三个变量,其他跟上面一样 print(s1) {11,44}
并集:
s1 = {11, 22, 33} s2 = {22, 33, 44} s3 = s1.union(s2)#把它俩的内容全部输出到一起,但是set集合是唯一的,所以输出的内容没有一样的 print(s3) {33, 22, 11, 44}
更新:
s1 = {11, 22, 33} s2 = {22, 33, 44} s1.update(s2)#跟上面一样,但时没有第三个变量 print(s1) {33, 22, 11, 44}
作者:smelond
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。