Python集合操作

Posted Sun阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python集合操作相关的知识,希望对你有一定的参考价值。

#集合(确定的无序的一组数据)
#基本操作
#创建集合
#空集合
var = set()
print(var,type(var))

#具有数据的集合
var = {zhangwang,zhangbo,zhanglang}
print(var,type(var))

#成员检测
result = zhangbo in var
print(result)

result = zhangsan not in var
print(result)

#集合推导式
var = {蚂蚱,螳螂,蝈蝈,蛐蛐}

#基本的集合推导式
result = {*+i+* for i in var}
print(result)

#带有判断条件的集合推导式
result = {i for i in var if i != 蛐蛐}
print(result)

#多循环集合推导式
colors = {red,blue,pink}
sizes = {36,37,38,39}
result = {c + str(s) for c in colors for s in sizes}
print(result)

#集合函数
‘‘‘
#add()  向集合中添加元素
girls = {‘mf‘,‘sl‘,‘yj‘}
girls.add(‘xf‘)
print(girls)

#pop()  随机删除集合中的一个元素
boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘}
result = boys.pop()
print(boys)
print(result)

#remove()  删除集合中指定的元素  删除不存在的元素会报错
boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘}
boys.remove(‘zy‘)
print(boys)

#discard()  删除集合中指定的元素  删除不存在的元素啥都不做
boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘}
boys.discard(‘zy1‘)
print(boys)

#clear()  清空集合
boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘}
boys.clear()
print(boys)

#copy()  复制集合
boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘}
newboys = boys.copy()
print(newboys)
‘‘‘

#difference() 计算2个集合的差集
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
result = dreamers.difference(girls)# result = a + b
print(result)

#difference_update()  计算2个集合的差集(差集更新操作)
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
dreamers.difference_update(girls)#a = a + b  a += b
print(dreamers)

#union()  并集操作
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
result = dreamers.union(girls)
print(result)

#update()  并集更新操作
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
dreamers.update(girls)
print(dreamers)

#intersection()  计算2个集合的交集
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
result = dreamers.intersection(girls)
print(result)

#intersection_update  交集更新操作
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
dreamers.intersection_update(girls)
print(dreamers)

#超集和子集
boys = {zzy,yqw,dw,wzc,lyb,wym,chy}
zoudu = {wzc,lyb,wym}
girls = {lsy,mmf,syj}

#issuperset()  检测当前集合是否是另一个集合的超集
result = boys.issuperset(zoudu)
print(result)

#issubset()  检测当前集合是否是另一个集合的子集
result = zoudu.issubset(boys)
print(result)

#isdisjoint()  检测2个集合是否不存在交集  存在交集 False
result = boys.isdisjoint(girls)
print(result)

#symmetric_difference()  对称差集
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
result = dreamers.symmetric_difference(girls)
print(result)

#symmetric_difference_update()  对称更新差集
dreamers = {ljl,wc,xy,zb,lsy}
girls = {mmf,lsy,syj}
dreamers.symmetric_difference_update(girls)
print(dreamers)

#冰冻集合
#冰冻集合是一种特殊的集合类型,也是集合(集合是列表的话,冰冻集合就是元组)
#创建冰冻集合
#一般不会创建空的冰冻集合
var = frozenset()
print(var,type(var))

#带有数据的冰冻集合
var = frozenset((qs,szx,bjh,acs))
print(var,type(var))

#成员检测
result = szx in var
print(result)

#遍历冰冻集合
for i in var:
    print(i)

#集合推导式(无法得到冰冻集合,可以得到集合,列表,元组,字典类型)
result = {i for i in var}
print(result,type(result))

#函数
#冰冻集合可以使用集合的函数(不修改集合本身的函数都可以使用)
var = frozenset((qs,szx,bjh,acs))

#copy()
result = var.copy()
print(result)

#集合操作  交集,并集,差集,对称差集等  不修改冰冻集合本身就能使用:冰冻集合的操作结果都是冰冻集合
var1 = frozenset((qs,szx,bjh,acs))
var2 = {szx,bjh,lc,wb}

#冰冻集合操作
result = var1.union(var2)
print(result)

#普通集合操作(冰冻集合是参考集合)
result = var2.union(var1)
print(result)

 

以上是关于Python集合操作的主要内容,如果未能解决你的问题,请参考以下文章

laravel特殊功能代码片段集合

Python集合(set)的操作方法汇总(约20种操作方法),并附示例代码

金蝶handler中 collection 代码片段理解

Alfred常见使用

python的字符串操作1

比较 C# 中的字符串片段并从集合中删除项目