赞
踩
集合set(可变的数据类型):
数据结构以大括号{}表示,各元素逗号隔开,例:{1,2,3,4}。
集合特征:无序,元素不重复
创建集合:
s={1,2,3}
pirnt(s)
#---------------{1,2,3}
s=set('hello')
print(s)
#---------------{'e', 'h', 'o', 'l'}
set.add()
添加元素:
s=('abc')
s.add('d')
print(s)
#---------------{'c', 'd', 'a', 'b'}
set.clear()
清空集合元素:
s=set('abc')
s.clear()print(s)#------------------
{}
set.copy()
集合的拷贝(浅拷贝):
s=set('abc')
s2=s.copy()print(s2)#-------------------
{{'c', 'a', 'b'}}
set.pop()
随机删除某一集合元素,并返回被删的元素值:
s=set('abc')
s.pop()print(s)#----------------------
{'a', 'b'}
set.remove()
删除指定的元素(元素不存在会报错):
s=set('abc')
s.remove('b')print(s)#--------------------
{'c', 'a'}
set.discard()
删除指定元素(元素不存在不报错):
s=set('abc')
s.discard('b')print(s)#--------------------
{'c', 'a'}
求交集(两集合中共有的元素):
s1=set('abc')
s2=set('abdef')print(s1&s2)#使用&求交集
print(s1.intersection(s2))#使用集合的内置方法求交集#------------------------------------
{'a', 'b'}
{'a', 'b'}
求并集(两集合所有元素):
s1=set('abc')
s2=set('abdef')print(s1|s2)#使用|求交集
print(s1.union(s2))#使用集合的内置方法求交集#------------------------------------
{'c', 'b', 'd', 'a', 'e', 'f'}
{'c', 'b', 'd', 'a', 'e', 'f'}
求差集(从一集合中减去另一集合存在的元素):
s1=set('abc')
s2=set('abdef')print(s1-s2)#使用-求交集
print(s1.difference(s2))#使用集合的内置方法求交集#------------------------------------
{'c'}
{'c'}
求交叉补集(并集减交集):
s1=set('abc')
s2=set('abdef')print(s1^s2)#使用^求交集
print(s1.symmetric_difference(s2))#使用集合的内置方法求交集#------------------------------------
{'d', 'c', 'e', 'f'}
{'d', 'c', 'e', 'f'}
set.difference_update:
求差集并将结果更新到原集合中:
s1=set('abc')
s2=set('abdef')
s2.difference(s1)#使用集合的内置方法求交集
print(s2)#------------------------------------
{'f', 'e', 'd'}
set.isdisjoint():
判断集合是否不相交:
s1=set('abc')
s2=set('c')
s3=set('abdef')print(s1.isdisjoint(s3))print(s2.isdisjoint(s3))#-------------------------------
False
True
set.issubset():
判断该集合是否是另一集合的子集:
s1=set('abc')
s2=set('abd')
s3=set('abdef')print(s1.issubset(s3))print(s2.issubset(s3))#-----------------------------------
False
True
set.issuperset():
判断该集合是否另一集合的父集:
s1=set('abc')
s2=set('abd')
s3=set('abdef')print(s3.issuperset(s1))print(s3.issuperset(s2))#-----------------------------------
False
True
set.update():
将可迭代数据更新至集合中:
s1=set('abc')
s2=set('def')
s1.update(s2) #对比set.add(),add()只可添加一个元素,update()可添加多个元素print(s1)#----------------------------
{'f', 'c', 'd', 'e', 'b', 'a'}
s=frozenset():
可生成不可变集合:
s1=frozenset('abc')print(s1)#-----------------------------
frozenset({'b', 'c', 'a'})
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。