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

avatar
作者
猴君
阅读量:0

在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中集合的基本操作和集合运算。记住,集合是无序的,所以它们的元素没有特定的顺序。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!