Menu
CoddyTech

数学运算(第 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 的元素后剩余的独有元素的集合。

challenge icon

挑战

简单

想象你在管理一个专属俱乐部,会员根据兴趣分成不同的组。你想找出:

  1. 哪些会员在所有组中都有共同的兴趣?
  2. 哪些会员真正与众不同,只属于第一个组,不属于其他组?

编写一个程序,用来:

  • 接收三个集合:group1、group2 和 group3,分别表示三个兴趣组的会员。
  • 找出并打印这三个组的交集(所有组共有的会员)。
  • 找出并打印 group1 与另外两个组的差集(只属于第一个组的会员)。

请查看测试用例,了解最终输出格式!

亲手试试

# 在下面编写你的代码


# 打印结果
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Python 在线编译器