请编写程序实现集的运算:并、交、差、补、对称差和幂集。
时间: 2024-10-12 21:15:33 浏览: 43
这些子集包含在E中即-集合的运算
在Python中,我们可以使用内置的set数据结构以及一些基本操作来模拟集合的运算。以下是实现这些运算的一种简单方式:
```python
# 定义集合的基本运算函数
def union(set1, set2):
return set1.union(set2)
def intersection(set1, set2):
return set1.intersection(set2)
def difference(set1, set2):
return set1.difference(set2) # 这里是标准的差集,如果需要对称差,可以改用 symmetric_difference()
def complement(set1, universal_set):
if not isinstance(universal_set, set): raise ValueError("Universal set must be a set.")
return universal_set - set1
def symmetric_difference(set1, set2):
return set1.symmetric_difference(set2)
def power_set(set):
return set | { frozenset(superset) for superset in set if len(superset) < len(set) }
# 使用示例
my_set = {1, 2, 3}
universal_set = {0, 1, 2, 3, 4}
print(f"Union: {union(my_set, {2, 4})}")
print(f"Intersection: {intersection(my_set, {2, 3})}")
print(f"Difference: {difference(my_set, {2, 4})}")
print(f"Complement (with respect to {universal_set}): {complement(my_set, universal_set)}")
print(f"Symmetric Difference: {symmetric_difference(my_set, {2, 4})}")
print(f"Power Set: {power_set(my_set)}")
```
以上代码定义了并集(`union`)、交集(`intersection`)、差集(`difference`)以及补集(`complement`)的函数。幂集(`power_set`)则是生成一个集合的所有子集。
阅读全文