四、数据类型_6.(4).set - set运算

set运算

set的主要运算
    交集       &     intersection()    intersection_update()
    并集       |     union()    update()
    差集       -     difference()    difference_update()
    对称差集    ^    symmetric_difference()    symmetric_difference_update()

    超集             issuperset()
    子集             issubset()
    相交             isdisjoint()
数学运算
vars1 = {'梅西','内马尔','苏亚雷斯','伊涅斯塔','哈维','皮克','阿尔维斯'}
vars2 = {'伊涅斯塔','哈维','皮克','托雷斯','卡西'}

# (1). & 交集
res = vars1 & vars2
print(res)

# (2). | 并集
res = vars1 | vars2
print(res)

# (3). - 差集
res = vars1 - vars2
print(res)
res = vars2 - vars1
print(res)

# (4). ^ 对称差集
res = vars1 ^ vars2
print(res)

{'伊涅斯塔', '哈维', '皮克'}
{'卡西', '苏亚雷斯', '梅西', '皮克', '伊涅斯塔', '阿尔维斯', '内马尔', '哈维', '托雷斯'}
{'阿尔维斯', '苏亚雷斯', '梅西', '内马尔'}
{'卡西', '托雷斯'}
{'卡西', '苏亚雷斯', '梅西', '阿尔维斯', '内马尔', '托雷斯'}
函数运算
vars1 = {'梅西','内马尔','苏亚雷斯','伊涅斯塔','哈维','皮克','阿尔维斯'}
vars2 = {'伊涅斯塔','哈维','皮克','托雷斯','卡西'}

# (1).交集
# set.intersection(*other)
# 功能:返回由交集组成的新set
res = vars1.intersection(vars2)
print(res)

# set.intersection_update(*other)
# 功能:更新set,值为由交集组成的新set
# vars2.intersection_update(vars1)
# print(vars2)

# (2).并集
# set.union(*other)
# 功能:返回由并集组成的新set
res = vars1.union(vars2)
print(res)

# set.update(*other)
# 功能:更新set,值为由并集组成的新set
# vars2.update(vars1)
# print(vars2)

# (3).差集
# set.difference(*other)
# 功能:返回由差集组成的新set
res = vars1.difference(vars2)
print(res)
res = vars2.difference(vars1)
print(res)

# set.difference_update(*other)
# 功能:更新set,值为由差集组成的新set
# vars1.difference_update(vars2)
# print(vars1)
# vars2.difference_update(vars1)
# print(vars2)

# (4).对称差集
# set.symmetric_difference(other)
# 功能:返回由对称差集组成的新set
res = vars1.symmetric_difference(vars2)
print(res)

# set.symmetric_difference_update(other)
# 功能:更新set,值为由对称差集组成的新set
# vars1.symmetric_difference_update(vars2)
# print(vars1)

{'伊涅斯塔', '哈维', '皮克'}
{'卡西', '苏亚雷斯', '梅西', '皮克', '伊涅斯塔', '阿尔维斯', '内马尔', '哈维', '托雷斯'}
{'阿尔维斯', '苏亚雷斯', '梅西', '内马尔'}
{'卡西', '托雷斯'}
{'卡西', '苏亚雷斯', '梅西', '阿尔维斯', '内马尔', '托雷斯'}
其他运算
var1 = {1,2,3,4,5,6,7,8,9}
var2 = {2,5,8}

# (5).超集
# set.issuperset(other)
# 功能:检测set是否为other的超集
res = var1.issuperset(var2)
print(res)

# (6).子集
# set.issubset(other)
# 功能:检测set是否为other的子集
res = var2.issubset(var1)
print(res)

# (7).相交
# set.isdisjoint(other)
# 功能:检测set和other是否没有相同的元素
res = var1.isdisjoint(var2)
print(res)

True
True
False
上一篇:java系统内部 返回结果封装类


下一篇:Unity废柴看过来,手把手教你做植物大战僵尸(七)—— 僵尸吃植物