Python set集合的常用操作

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

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

创建格式:

>>> k=set('11a3dw')
>>> k
{'a', '1', 'w', '3', 'd'}
>>> s={1,2,3,4,5}
>>> type(s)
<class 'set'>

集合的运算

S|T返回一个新集合,包括在集合S和T中的所有元素
S-T返回一个新集合,包括在集合S但不在T中的元素
S&T返回一个新集合,包括同时在集合S和T中的元素
S^T返回一个新集合,包括集合S和T中的非相同元素
S<=T或S<T返回True/False,判断S和T的子集关系
S>=T或S>T返回True/False ,判断S和T的包含关系
S|= T更新集合S ,包括在集合S和T中的所有元素
S-= T更新集合S ,包括在集合S但不在T中的元素
S&=T更新集合S ,包括同时在集合S和T中的元素
S^=T更新集合S ,包括集合S和T中的非相同元素

>>> S={1,2,3,4,5}
>>> T={1,5,3,7,8}
>>> S|T
{1, 2, 3, 4, 5, 7, 8}

#S-T

>>> S-T
{2, 4}

#S&T

>>> S&T
{2, 4}

#S^T

>>> S^T
{2, 4, 7, 8}

# S<=T

>>> S<=T
False

#S<T

>>> S<T
False 

#S>=T

>>> S>=T
False

#S>T

>>> S>T
False

#S|T

>>> S|=T
>>> S
{1, 2, 3, 4, 5, 7, 8}

#S-=T

>>> S-=T
>>> S
{2, 4}

#S&=T

>>> S&=T
>>> S
{1,3,5}

#S^=T

>>> S^=T
>>> S
{2, 4, 7, 8}

常用函数

S.add(x)如果x不在集合S中,将x增加到S
S.discard(x)

移除S中元素x,如果不在集合S中,不报错

S.remove(x)移除S中元素x,如果不在集合S中,产生KeyError异常
S.clear()移除S中所有元素
S.pop0随机返回S的一个元素,更新S,若S为空产生KeyError异常
S.copy()返回集合S的一个副本
len(S)返回集合S的元素个数
x in S判断S中元素x , x在集合S中,返回True ,否则返回False
X not in S判断S中元素x , x不在集合S中,返回True ,否则返回False
set(x)将其他类型变量x转变为集合类型

>>> S={1,2,3}
>>> S.add(4)                                                            #add()
>>> S
{1, 2, 3, 4}
>>> S.discard(1)                                                       #discard()
>>> S
{2, 3, 4}
>>> S.remove(1)                                                       #remove()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 1
>>> S.clear()                                                             #clear()
>>> S
set()

>>> S={1,2,3,4}
>>> S.pop()                                                               #pop()
1
>>> S
{2, 3, 4}
>>> k=S.copy()                                                         #copy()
>>> k
{2, 3, 4}
>>> len(S)                                                                 #len()
3
>>> 2 in S                                                                 # x in s
True
>>> 2 not in S                                                           # x not in s 
False
>>> l=['ad',1,2]
>>> type(l)
<class 'list'> 
>>> set(l)                                                                   #set()
{'ad', 2, 1}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值