python集合及其运算

1, 集合定义

       集合数据类型是没有顺序的简单对象的聚集,且集合中元素不重复。python集合数据类型有可变集合对象(set)和不可变集合对象(frozenset)

        集合元素必须是可hash对象,可哈希对象的hash码对应唯一值,所以就是说集合元素必须是不可变的,例如bool, int , float, complex, str, tuple, frozenst,而内置对象List, dict,  set就不能包含于集合中。

        

        集合创建:

  •             set()     #创建一个空的可变集合

  •             frozenset()    #创建一个不可变的空集合

      

{1,2,1}

{1,2}

 

{1, 'a', True}

{True, 'a'}

 

set('Hello')

{'H', 'e', 'l', 'o'}

 

{'a', [2,3]}

TypeError

 

2. 判断集合元素是否存在

 

        x in s        #True表示存在

        x  not in s   #True 表示不存在

 

3, 集合的运算:并集, 交集, 差集和对称差集

 

运算符

说明

|

取并集

&

取交集

-

取差集

^

取对称差集

 

*:对称差集:(s1|s2)-(s1&s2) = (s1 - s2)|(s2 - s1)

 

 

4.集合的比较运算

 

        

 

运算符

说明

运算符

说明

==

判断相等

<=

判断子集

!=

判断不等

>=

判断超集

<

判断纯子集

>

判断纯超集

使用集合的相关方法也可以判断集合关系:

        s1.isdisjoint(s2)    #若s1, s2之间没有相同元素返回True, 否则返回false

        s1.issubset(s2)      #判断s1是不是s2的子集

        s1.issuperset(s2)   #判断s1是不是s2的超集

        s1.union(s2,...)        #返回s1, s2,....的并集

        s1.intersection(s2,...)  #返回交集

        s1.difference(s2,...)      #返回差集

        s1.symmetric_difference(s2)    #返回对称差集

 

 

5.集合的长度,最大值,最小值,元素和

使用内置函数:len(), max(), min(), sum()

        

 

6.可变集合方法

 

 

方法

说明

s.clear()

清空集合

s.add(x)

对象x添加到集合

s.remove(x)

从集合中移除对象x;若不存在,KeyError

s.pop()

从集合随机弹出一个元素

s.discard(x)

从集合移出对象x(x存在的话)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值