数学运算(第 2 部分)
本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 34 课,共 78 课。
让我们继续探索集合的数学运算,重点了解一些更高级的概念,例如多个集合的交集以及多个集合之间的差集。
多个集合的交集(& 或 intersection()):你可以反复使用 & 运算符或 intersection() 方法,也可以将多个集合传递给 intersection() 方法,来查找这些集合中的共同元素。
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5}
intersection_result = set1 & set2 & set3
# 或者
intersection_result = set1.intersection(set2, set3)
print(intersection_result)
# 输出:{3}多个集合之间的差集(- 或 difference()):你可以使用 - 运算符或 difference() 方法,找出第一个集合中相对于其他多个集合独有的元素。具体做法是从第一个集合中减去其他多个集合。
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6}
set3 = {5, 6, 7}
difference_result = set1 - set2 - set3
# 或者
difference_result = set1.difference(set2, set3)
print(difference_result)
# 输出:{1, 2, 3}在这些示例中,我们先求三个集合的交集,得到一个只包含三个集合共有元素的集合。然后,我们求多个集合的差集,得到一个只包含从 set1 中减去 set2 和 set3 的元素后剩余的独有元素的集合。
挑战
简单想象你在管理一个专属俱乐部,会员根据兴趣分成不同的组。你想找出:
- 哪些会员在所有组中都有共同的兴趣?
- 哪些会员真正与众不同,只属于第一个组,不属于其他组?
编写一个程序,用来:
- 接收三个集合:
group1、group2和group3,分别表示三个兴趣组的会员。 - 找出并打印这三个组的交集(所有组共有的会员)。
- 找出并打印
group1与另外两个组的差集(只属于第一个组的会员)。
请查看测试用例,了解最终输出格式!
亲手试试
# 在下面编写你的代码
# 打印结果
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Python 在线编译器