温馨提示×

如何在Python中使用set进行集合运算

小樊
81
2024-09-06 13:03:32
栏目: 编程语言

在Python中,set是一个非常有用的数据类型,它可以用来存储不重复的元素,并且支持集合运算。下面是一些基本的集合运算的例子:

  1. 创建集合

你可以使用大括号 {} 或者 set() 函数来创建一个集合。

# 使用大括号创建集合
s1 = {1, 2, 3, 4, 5}

# 使用set()函数创建集合
s2 = set([1, 2, 3, 4, 5])
  1. 添加元素

使用 add() 方法可以向集合中添加一个元素。

s1.add(6)
print(s1)  # 输出: {1, 2, 3, 4, 5, 6}

注意:如果你试图添加一个已经存在于集合中的元素,Python将不会报错,但也不会有任何效果。 3. 删除元素

使用 remove() 方法可以从集合中删除一个元素。如果元素不存在,remove() 方法会引发一个 KeyError

s1.remove(6)
print(s1)  # 输出: {1, 2, 3, 4, 5}

为了避免 KeyError,你可以使用 discard() 方法,它在元素不存在时不会有任何效果。

s1.discard(6)  # 没有任何效果,因为6已经被移除了
  1. 集合运算

Python的集合支持多种运算,包括并集、交集、差集和对称差集。

* 并集(Union): 使用 `|` 运算符或者 `union()` 方法。
* 交集(Intersection): 使用 `&` 运算符或者 `intersection()` 方法。
* 差集(Difference): 使用 `-` 运算符或者 `difference()` 方法。
* 对称差集(Symmetric Difference): 使用 `^` 运算符或者 `symmetric_difference()` 方法。

示例代码:

s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}

# 并集
print(s1 | s2)  # 输出: {1, 2, 3, 4, 5, 6, 7, 8}
print(s1.union(s2))  # 输出: {1, 2, 3, 4, 5, 6, 7, 8}

# 交集
print(s1 & s2)  # 输出: {4, 5}
print(s1.intersection(s2))  # 输出: {4, 5}

# 差集
print(s1 - s2)  # 输出: {1, 2, 3}
print(s1.difference(s2))  # 输出: {1, 2, 3}

# 对称差集
print(s1 ^ s2)  # 输出: {1, 2, 3, 6, 7, 8}
print(s1.symmetric_difference(s2))  # 输出: {1, 2, 3, 6, 7, 8}

这些就是Python中集合的基本操作和集合运算。记住,集合是无序的,所以它们的元素没有特定的顺序。

0