当前位置:主页 > 软件编程 > Python代码 >

详解python的集合set的函数

时间:2022-07-26 10:03:29 | 栏目:Python代码 | 点击:

s={ x1,x2,x3.....};

集合有自动去重的功能,而且可以进行交并补运算,而且集合是无序的,每次打印的结果不一样,故不可以用元素下标进行取值。因无法取值,故无法对特定的值进行修改。但是可以进行删除操作。

s=set();表示创建一个空的集合。注意:s={}表示创建一个空的字典。

常用

查询

x in s,s为一个集合,返回bool类型,判断x是否在集合s中。

增加

s.add(“x”);将“x”添加到集合s中。

删除

s.pop();随机删除集合s中的一个元素。

s.remove(“x”);删除集合s中的元素“x”,若无“x”则报错。

s.discard(“x”);删除集合s中的元素“x”,若无“x”不报错。

s.clear();将集合s清空,清空后s=set()。

交、并、补、对称差

交集

s=s1&s2s=s1.intersection(s2)s=set.intersection(s1,s2);得到集合s为集合s1和集合s2的交集。

并集

s=s1|s2s=s1.unoin(s2)s=set.union(s1,s2);得到集合s为集合s1和集合s2的并集。

补集

s=s1-s2s=s1.difference(s2)s=set.difference(s1,s2);得到集合s为在集合s1中但不在集合s2中的元素。

对称差

s=s1^s2s=s1.symmetric_difference(s2)s=set.symmetric_difference(s1,s2);得到集合s为仅在集合s1和仅在集合s2中的元素之和。

其他

s1=s.copy();将集合s的数据复制给集合s1,s和s1的地址不同,互不影响。(若用s1=s,则s1的数据与s相同且地址相同,对s做修改等于对s1做修改)

s.difference_update(s1,s2);将s-s1-s2的结果(补集)赋值给s。

s.intersection_update(s1,s2);将s&s1&s2的结果(交集)赋值给s。

s.isdisjoint(s1);如果s与s1的交集为空,则返回True,否则返回False。

s.issubset(s1);若s为s1的子集,则返回True。

s.issuperset(s1);若s1为s的子集,则返回True。

s.symmetric_difference_update(s1);括号内只能有一个参数,将s^s1的结果(对称差)赋值给s。

s.update(s1,s2);将s|s1|s2的结果(并集)赋值给s 。

总结

您可能感兴趣的文章:

相关文章