码迷,mamicode.com
首页 > 编程语言 > 详细

Python集合操作

时间:2017-11-19 16:04:23      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:on()   python   join   zhang   函数   循环   int()   成员   font   

#集合(确定的无序的一组数据)
#基本操作
#创建集合
#空集合
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集合操作

标签:on()   python   join   zhang   函数   循环   int()   成员   font   

原文地址:http://www.cnblogs.com/sunyang945/p/7859962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!