python中set及操作

python中set及操作

集set

set翻译为集合,是可变的,无序的,不重复的元素的集合

l1 = set(range(5))
l1
{0, 1, 2, 3, 4}

set的元素

set的元素要求必须可以hash
元素不可以使用索引
set可以迭代

set增加

增加一个元素到set中,如果元素存在,什么都不做

l1.add(8)
l1
{0, 1, 2, 3, 4, 8}

update(*others)

合并其他元素到set集合中来,参数others必须是可迭代对象,就地修改

set删除

remove(elem)

从set中移除一个元素,元素不存在,抛出KeyError异常。

l1.remove(0)
l1
{1, 2, 3, 4, 8}

l1.remove(10)  
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-10-1dbd03c1682c> in <module>
----> 1 l1.remove(10)

KeyError: 10

discard(elem)

从set中移除一个元素,假如元素不存在,什么都不做

l1.discard(2)
l1
{1, 3, 4, 8}

pop() -> item

移除并返回任意的元素。

clear()

移除所有的元素

l1.clear()
l1
set()

集合

全集

所有元素的集合。例如实数集,所有实数组成的集合就是全集

子集subset和超集superset

一个集合A所有元素都在另一个集合B内,A是B的子集,B是A的超集

真子集和真超集

A是B的子集,且A不等于B,A就是B的真子集,B是A的超集

集合的运算

并集

将两个集合A和B的所有的元素合并到一起,组成的集合称作集合A和集合B的并集
union(others)
返回和多个集合合并后的新的集合
|运算符重载
等同union
update(*others)
和多个集合合并,就地修改
|=
等同update

交集

集合A和B,由所有属于A且属于B的元素组成的集合
intersection(*others)
返回和多个集合的交集
&
等同于intersection
intersection_update(*others)
获取和多个集合的交集,并就地修改
&=
等同于intersection_update

差集

集合A和B,由所有属于A且不属于B的元素组成的集合
difference(*others)
返回和多个集合的差集

等同difference
difference_update(*others)
获取和多个集合的差集并就地修改
-=
等同于intersection_update

对称差集

集合A和B,由所有不属于A和B的交集元素组成的集合
symmetric_difference(other)
返回和另一个集合的差集
^
等同symmetric_difference
symmetric_difference_update(other)
获取和另一个集合的差集并就地修改
^=
等同symmetric_difference_update

集合运算

issubset(other)、<=
判断当前集合是否是另一个集合的子集
set1 < set2
判断set1是否是set2的真子集
issuperset(others)、>=
判断当前集合是否是other的超集
set1 > set2
判断set1是否是set2的真超集
isdisjoint(other)
当前集合和另一个集合没有并集
没有交集,返回True

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值