Menu
CoddyTech

子集与超集

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 36 课,共 78 课。

在集合论中,子集是指其中所有元素都包含在另一个集合中的集合。相反,超集是指包含另一个集合所有元素的集合。

检查是否为子集(<= 或 issubset()):

set1 = {1, 2}
set2 = {1, 2, 3}
is_subset = set1 <= set2
print(is_subset)
# 输出:True

在这个示例中,set1 是 set2 的子集,因为 set1 中的所有元素也都在 set2 中。

检查真子集(<):

set1 = {1, 2}
set2 = {1, 2, 3}
is_proper_subset = set1 < set2
print(is_proper_subset)
# 输出:True

这里,set1 是 set2 的真子集,因为 set1 是 set2 的子集,而且 set2 至少包含一个不在 set1 中的元素。

检查是否为超集(>= 或 issuperset()):

set1 = {1, 2, 3}
set2 = {1, 2}
is_superset = set1 >= set2
print(is_superset)
# 输出:True

在这种情况下,set1 是 set2 的超集,因为 set1 包含 set2 的所有元素。

检查真超集(>):

set1 = {1, 2, 3}
set2 = {1, 2}
is_proper_superset = set1 > set2
print(is_proper_superset)
# 输出:True

这里,set1 是 set2 的真超集,因为 set1 是 set2 的超集,而且 set1 中至少有一个元素不在 set2 中。

challenge icon

挑战

简单

创建一个名为 check_sets 的函数,它接受两个集合 set1 和 set2 作为参数。该函数应执行以下操作:

  1. 检查 set1 是否是 set2 的子集。
  2. 检查 set2 是否是 set1 的超集。
  3. 检查 set1 是否是 set2 的真子集。
  4. 检查 set2 是否是 set1 的真超集。
  5. 返回一个字典,其中包含这些操作的结果,键为 "is_subset"、"is_superset"、"is_proper_subset" 和 "is_proper_superset"。

亲手试试

def check_sets(set1, set2):
    # 检查 set1 是否是 set2 的子集
    is_subset = 

    # 检查 set2 是否是 set1 的超集
    is_superset = 

    # 检查 set1 是否是 set2 的真子集
    is_proper_subset = 

    # 检查 set2 是否是 set1 的真超集
    is_proper_superset = 

    # 返回包含结果的字典
    return {
        "is_subset": is_subset,
        "is_superset": is_superset,
        "is_proper_subset": is_proper_subset,
        "is_proper_superset": is_proper_superset
    }
quiz icon自我测试

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

逻辑与流程中的所有课

自己练习: Python 在线编译器