网站首页 网站地图
网站首页 > 电商创业 > 集合运算

集合运算

时间:2026-03-20 16:55:32

集合运算是指对集合进行的各种操作,包括并集、交集、差集、对称差集、幂集等。这些运算在数学和计算机科学中都有广泛的应用。以下是一些常见的集合运算及其解释:

并集:

两个集合中所有不重复元素的集合。可以使用 `|` 运算符或 `union()` 方法来实现。

```python

set1 = {1, 2, 3}

set2 = {3, 4, 5}

result = set1 | set2 或者 result = set1.union(set2)

print(result) 输出: {1, 2, 3, 4, 5}

```

交集:

两个集合中共同拥有的元素。可以使用 `&` 运算符或 `intersection()` 方法来实现。

```python

set1 = {1, 2, 3}

set2 = {3, 4, 5}

result = set1 & set2 或者 result = set1.intersection(set2)

print(result) 输出: {3}

```

差集:

属于第一个集合但不属于第二个集合的元素。可以使用 `-` 运算符或 `difference()` 方法来实现。

```python

set1 = {1, 2, 3}

set2 = {3, 4, 5}

result = set1 - set2 或者 result = set1.difference(set2)

print(result) 输出: {1, 2}

```

对称差集:

属于第一个集合或第二个集合但不属于两个集合共同拥有的元素。可以使用 `^` 运算符或 `symmetric_difference()` 方法来实现。

```python

set1 = {1, 2, 3}

set2 = {3, 4, 5}

result = set1 ^ set2 或者 result = set1.symmetric_difference(set2)

print(result) 输出: {1, 2, 4, 5}

```

幂集:

一个集合的所有子集构成的集合,包括空集和集合本身。可以使用 `powerset()` 方法来实现。

```python

from itertools import chain, combinations

def powerset(s):

return list(chain.from_iterable(combinations(s, r) for r in range(len(s) + 1)))

set1 = {1, 2, 3}

result = list(powerset(set1))

print(result)

```

补集:

一个集合在全集中的所有元素构成的集合。补集运算需要明确全集。

```python

假设全集为所有自然数

U = set(range(1, 101))

set1 = {1, 2, 3}

result = U - set1 或者 result = U.difference(set1)

print(result) 输出: {4, 5, ..., 99, 100}

```

集合的其他运算:

还包括并集运算的交换律、结合律、分配律,德摩根律等,这些运算在处理集合时非常有用。

```python

并集运算的交换律

set1 = {1, 2, 3}

set2 = {3, 4, 5}

print(set1 | set2 == set2 | set1) 输出: True

并集运算的结合律

set1 = {1, 2, 3}

set2 = {4, 5, 6}

set3 = {7, 8, 9}

print((set1 | set2) | set3 == set1 | (set2 | set3)) 输出: True

分配律

set1 = {1, 2, 3}

set2 = {4, 5, 6}

set3 = {7, 8, 9}

print(set1 | (set2 & set3) == (set1 | set2) & set3) 输出: True

```

这些集合运算在处理数据集、去重、查找共有元素等场景中非常有用。掌握这些运算有助于更高效地处理和分析数据。