关于python的集合(set)的函数(附带解释)

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&s2;s=s1.intersection(s2),s=set.intersection(s1,s2);得到集合s为集合s1和集合s2的交集。

并集

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

补集

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

对称差

s=s1^s2;s=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 。

集合的遍历

for i in set:
    print(i,type(i))   #打印出集合中的元素,并给出它的数据类型。(因为集合是无序的,所以打印出来的元素可能与集合设定的顺序不同)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值