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