目录
#差集:取一个集合中另一个集合没有的元素 -/difference
认识[交集]、[并集]、[差集]
在使用集合的交集并集差集前,首先明确2个集合,之后再来举例
a={1,2,3,4} b={3,4,5,6}
#交集:取两个集合公共的元素 &/intersection
print(a&b) #{3,4} print(a.intersection(b)) #{3,4} print(b&a) #{3,4} print(b.intersection(a)) #{3,4}
#并集:取两集合的全部元素 |/unionprint(a|b) #{1,2,3,4,5,6} print(a.union(b)) #{1,2,3,4,5,6} print(b|a) #{1,2,3,4,5,6} print(b.union(a)) #{1,2,3,4,5,6}
#差集:取一个集合中另一个集合没有的元素 -/differenceprint(a-b) #{1,2} print(a.difference(b)) #{1,2} print(b-a) #{5,6} print(b.difference(a)) #{5,6}
【实际运用举例】
交集:在数据库或数据表中,交集的运用可以用来找到两个或多个查询结果集中的共同元素。
并集:在数据库中,并集也常常被用于联合两个或多个表,以获得包含所有这些表中数据的更大的表。
差集:在关系型数据库中,差集可以用来查询两个表之间的差异,或者在一个表中找出另一个表中所没有的记录。
【题目】输入两个班级的学生姓名,打印重名的学生
#输入班级1的学生数量,存储至num1
num1 = int(input('输人班级1的学生数量:'))
class1=set()#初始化集合class1
#通过循环,输入班级1学生的姓名
for i in range(0, num1):
name = input('输入学生%d姓名:'%(i+1))
class1.add(name)#添加至集合class1
#输入班级2的学生数量,存储至num2
num2 = int(input('输人班级2的学生数量:'))
class2 = set()#初始化集合class2
#通过循环,输入班级2学生的姓名
for i in range(0, num2):
name = input('输入学生%d姓名:'%(i+1))
class2.add(name)#添加至集合class2
#求出class1与class2的交集,存储至same
same = class1 & class2
print("重名的学生:")
for name in same:
print(name)#将重名的同学打印