Python的set(集合)类型常见用法

记录下,方便自己查阅,持续更正补充。

集合(set)是一个 无序无重复元素 序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

1.检查列表哪些元素重复了
>>> eg = ['a', 'a', 'b']
>>> s = set([x for x in eg if eg.count(x) > 1])
>>> print(s)
{'a'}

若只需要判断是否有重复元素,可以直接s = set(eg),再比较len(eg)与len(s)

2.增加删除元素

add(),update(),remove()

>>> s = {'a', 'b', 'c'}
>>> s.add('d') # 增加一个元素
>>> s
{'c', 'd', 'b', 'a'}
>>> s.update(['1', '2']) # 增加多个元素,函数参数必须是可迭代对象
>>> s
{'a', '2', '1', 'c', 'b', 'd'}
>>> s.remove('1') # 删除一个元素
>>> s
{'a', '2', 'c', 'b', 'd'}
3.包含与被包含

issuperset(),issubset()

>>> s1 = {'a', 'b', 'c'}
>>> s2 = {'a', 'b'}
>>> s3 = {'a', 'b', 'd'}
>>> s1.issuperset(s2) # 解读:s1是比s2大的集合
True				  # 是的
>>> s1.issubset(s2)	  # 解读:s1是比s2小的集合
False 				  # 错误
>>> s1.issubset(s3)
False
>>> s1.issuperset(s3)
False
4.并集,交集,差集,对称差集

union(), intersection(),difference(),symmetric_difference()

并集:

在这里插入图片描述

>>> s1 = {'a', 'b', 'c'}
>>> s3 = {'a', 'b', 'd'}
>>> s1.union(s3)
{'a', 'b', 'd', 'c'}
交集

在这里插入图片描述

>>> s1 = {'a', 'b', 'c'}
>>> s3 = {'a', 'b', 'd'}
>>> s1.intersection(s3)
{'a', 'b'}
差集

在这里插入图片描述

>>> s1 = {'a', 'b', 'c'}
>>> s2 = {'a', 'b'}
>>> s1.difference(s3)
{'c'}
对称差集

在这里插入图片描述

>>> s1 = {'a', 'b', 'c'}
>>> s3 = {'a', 'b', 'd'}
>>> s1.symmetric_difference(s3)
{'d', 'c'}
注:以上操作依次可写成 s1|s3,s1&s3,s1-s3,s1^s3,前提是s1和s3都是集合类型,否则不可以直接简写。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值