子集与超集
本课属于 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 中。
挑战
简单创建一个名为 check_sets 的函数,它接受两个集合 set1 和 set2 作为参数。该函数应执行以下操作:
- 检查
set1是否是set2的子集。 - 检查
set2是否是set1的超集。 - 检查
set1是否是set2的真子集。 - 检查
set2是否是set1的真超集。 - 返回一个字典,其中包含这些操作的结果,键为
"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
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Python 在线编译器