Set集合
阅读本文需要3分钟
2019.09.05
# 集合的定义
set1 = set() #定义一个空的集合
set2 = {1,2,3}
# 增加一个元素
set1.add(5)
#增加多个:
set1.update([5,6,7,8])
#删除某个值
set1.remove(1)
#查:无法通过下标索引
#改:不可变类型无法修改元素
a={10,20,30}
b={20,50}
print(a - b) # a和b的差集
{10,30}
print(a | b) # a和b的并集
{10, 20, 30, 50}
print(a & b) # a和b的交集
{20}
print(a ^ b) # a和b中不同时存在的元素 {50, 10, 30}
1.普通序列的遍历
for 变量 in 集合:
使用变量
2.多级集合
集合 = {(值,值..),(值,值..)。。。}
for 变量1,变量2 in 集合:
使用变量1和变量2
name = {'d', 's'}
name.add('d')
name
返回结果:{'d', 's'}
name.add('sd')
name
返回结果:{'sd', 'd', 's'}
name = {'sd', 'd', 's'}
name.update('df')
name
返回结果:{'sd', 'd', 'f', 's'}
name = {'sd','d','s'}
name.remove('s')
返回结果:name
{'sd', 'd'}
name = {'sd', 'd', 's'}
name.discard('s')
返回结果:name
{'sd', 'd'}
# remove移除非成员值会报错,discard移除非成员值,啥也不错!
name = {'d', 's'}
name.clear()
name
返回结果:{}
name = {'sd', 'd', 's'}
li = name.copy()
返回结果:li
{'sd', 'd', 's'}
name.difference(li)
set()
>>> name.difference()
{'sd', 'd', 's'}
name = {'sd', 'd', 's'}
li = {'s', 'd','h'}
name.union(li)
返回结果:{'h', 's', 'd', 'sd'}
li = ('s', 'd')
name = {'sd', 'd', 's'}
name.difference_update(li)
name
返回结果:{'sd'}
li = ('s', 'd')
name = {'sd', 'd', 's'}
name.intersection(li)
返回结果:{'d', 's'}
li = ('s', 'd')
name = {'sd', 'd', 's'}
name.intersection_update(li)
返回结果:{'d', 's'}
li = {'s', 'd'}
name = {'sd', 'd', 's'}
name.isdisjoint(li)
li = {'s', 'd'}
name = {'sd', 'd', 's'}
name.issubset(li) #判断name是不是li的子集
返回结果:False
li.issubset(name) #判断li是不是name的子集
返回结果:True
li = {'s', 'd'}
name = {'sd', 'd', 's'}
name.issuperset(li) #判断name是不是li的父集
返回结果:True
li.issuperset(name) #判断li是不是name的父集
返回结果:False
name = {'sd', 'd', 's'}
name.pop()
返回结果:'sd' #同一个集合,删除集合元素的顺序固定
se1 = {'a','s','sb'}
se1.pop()
返回结果:'sb'
name = {'sd', 'd', 's'}
li = {'s', 'd'}
name.symmetric_difference(li)
返回结果:{'sd'}
name = {'sd', 'd', 's'}
li = {'s', 'd'}
name.symmetric_difference_update(li)
返回结果:{'sd'}
1
END
岁月有你,惜惜相处
发现更多精彩
关注公众号