2.2.2.5Python-集合

总目录:https://www.jianshu.com/p/e406a9bc93a9

Python - 子目录:https://www.jianshu.com/p/50b432cb9460

集合

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

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

创建格式:

parame={value01,value02,...}

或者

set(value)   #这里value不能是纯数字



基础运算

basket= {'apple','orange','apple','pear','orange','banana'}

print(basket)                                     # 这里演示的是去重功能 

{'orange','banana','pear','apple'}


print('orange' in basket)                # 快速判断元素是否在集合内 

True 

print('crabgrass' in basket)

False


# 两个集合的符号运算

a=set('abracadabra') 

b=set('alacazam') 


print(a) 

{'a','r','b','c','d'}

print(b)

{'a','l','c','z','m'}


print(a-b)                                     # a中有,b中没有的元素 (a的差集)

{'r','d','b'}


print(a|b)                                        # a和b所有的不重复元素 (并集)

{'a','c','r','d','b','m','z','l'}


print(a&b)                                        # a和b都有的元素 (交集)

{'a','c'}


print(a^b)                               # a中没有和b中没有的元素 (a的差集和b的差集的并集)

{'r','d','b','m','z','l'}


内置函数


add()

为集合添加元素

set1={1,2,3}

set1.add(4)

print(set1)

{1, 2, 3, 4}


updata()

给集合添加元素

set1.update([5])

print(set1)   #update的参数不能是纯数字

{1, 2, 3, 4, 5}


copy()

拷贝一个集合(浅拷贝)

set2=set1.copy()

print(set2)

{1, 2, 3, 4, 5}


clear()

移除集合中的所有元素

set1.clear()

print(set1)

set()


discard()

删除集合中指定的元素

set3.discard(1)

print(set3)

{ 2, 3}


pop()

一般会删除第一个元素并且会有返回值

set3={1,2,3,4,5,6}

a=set3.pop()

print(a)

1

print(set3)

{2,3,4,5,6}


remove()

移除指定元素

set3.remove(4)

print(set3)

{2,3,4,5}


difference()

返回多个集合的差集

set3={1,2,3,4}

set4={4,5,6}

a=set3.difference(set4)

print(a)

{1, 2, 3}     #set3有,set4没有的元素


difference_update()

移除集合中的元素,该元素在指定的集合也存在。

set3.difference_update(set4)

print(set3)

{1, 2, 3}     #将difference()的运行结果赋给set3


intersection()

返回集合的交集

set5={1,2,3,4}

set6={3,4,5}

a=set5.intersection(set6)

print(a)

{3,4}   #set5有,set6也有的元素


intersection_update()

删除集合中的元素,该元素在指定的集合中不存在。

set5.intersection_update(set6)

print(set5)

{3,4}  #将 intersection()的运行结果赋给set5


symmetric_difference()

返回两个集合中不重复的元素集合。

set7={1,2,3,4}

set8={3,4,5}

a=set7.symmetric_difference(set8)

print(a)

{1,2,5}   #set7的差集和set8的差集的并集


symmetric_difference_update()

移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

set7.symmetric_difference_update(set8)

print(set7)

{1,2,5}  # 将symmetric_difference()的运行结果赋给set7


isdisjoint()

判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

set9={1,2,3}

set10={4,5,6}

a=set9.isdisjoint(set10)

print(a)

True  #set9中的元素,set10一个也不能有


issubset()

判断指定集合是否为该方法参数集合的子集。

set9={1,5,6}

set10={1,2,3,4,5,6}

a=set9.issubset(set10)

print(a)

True   #set9中的元素,set10必须全有


issuperset()

判断该方法的参数集合是否为指定集合的子集

set9={1,2,3,4,5,6}

set10={4,5,6}

a=set9.issubset(set10)

print(a)

True     #issubset()的反义词




union()

返回两个集合的并集

set11={1,2,3,4}

set12={3,4,5}

a=set11.union(set12)

print(a)

{1, 2, 3, 4, 5}    #set11,set12  都有的不重复元素



你可能感兴趣的:(2.2.2.5Python-集合)