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, 集合的运算:并集, 交集, 差集和对称差集

 

运算符

说明

|

取并集

&

取交集

-

取差集

^

取对称差集

python集合及其运算_第1张图片

 

*:对称差集:(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()

python集合及其运算_第2张图片

        

 

6.可变集合方法

 

 

方法

说明

s.clear()

清空集合

s.add(x)

对象x添加到集合

s.remove(x)

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

s.pop()

从集合随机弹出一个元素

s.discard(x)

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

python集合及其运算_第3张图片

你可能感兴趣的:(python基础)