python 集合类型及操作介绍

集合类型定义

多个元素的无序组合

  • 集合类型与数学中的集合概念保持一致
  • 集合元素之间无序,每个元素唯一,不存在相同元素
  • 集合元素不可更改,不能是可变数据类型
  • 集合用大括号{}表示,元素间用逗号分隔
  • 建立集合用{}或者set()
  • 如果想要建立一个空的集合,必须用set()

例子

A={"python",123,(1,2,3,4)}
B=set("pypy1123") # 相当于B2 
B2={'p','y','1','2','3'}
C={"python",123,"python",123} #相当于C2
C2={"python",123}

集合操作符

集合有四种基础运算方法,并,交,差,补

  • 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中的不相同元素

例子

>>>A={"p","y",123}
>>>B=set("pypy123")
>>>A-B
{123}
>>>A&B
{'p','y'}
>>>A|B
{'p','y','1','2','3',123}
>>>A^B
{123,'1','2','3'}

集合处理方法(10)

10个方法

  • S.add(x) 把元素x加到集合S中,就算S中已经有了x也不会报错
  • S.discard(x) 移除集合S中的元素x,就算S中没有x也不会报错
  • S.remove(x) 移除集合S中的元素x,如果S中没有x,则会报错KeyError
  • S.clear() 清除集合S中的所有元素
  • S.pop()从集合中随意返回S的一个值,并更新S,若S为空,则产生KeyError错误
  • S.copy()返回集合S的一个副本
  • len(S)返回集合S中的元素的数目
  • x in S 判断元素x是否包含在集合S中
  • x not in S 判断元素x是否不在集合S中
  • set(x) 将其他类型的变量x转换为集合类型

集合类型应用场景

  • 包含关系的比较

    >>>"p" in {'p','y',123}
    True
    >>>{'p','y'} >={'p','y',123}
    False
    
  • 数据去重

    ls=["p",'y','p','y',123]
    s=set(ls) # 利用集合无重复元素的特点
    ls_new=list(s) # 将集合转变为list
    
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值