Python集合常见运算案例解析
什么是集合
集合(set)是Python中的一种容器,它是由唯一、不可变、无序的元素组成。集合中的元素不能重复,而且是随机排列的,既不按照插入顺序,也未必按照大小排序。集合是一种非常有用的数据结构,它可以用来进行高效的数据处理和分析。
常见集合运算
Python中的集合提供了丰富的运算符和函数,下面介绍一些常见的集合运算。
交集运算
交集是指同时在两个集合中出现的元素,可以使用&
符号或intersection
函数来实现。例如:
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
c = a & b
d = a.intersection(b)
print(c) # {3, 4}
print(d) # {3, 4}
以上代码中,我们定义了两个集合a
和b
,其中包含一些元素。然后我们使用&
符号或intersection
函数对两个集合进行交集运算,得到了一个新集合t
。注意,结果集合中的元素是唯一且无序的。
并集运算
并集是指两个集合中所有元素的集合,可以使用|
符号或union
函数来实现。例如:
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
c = a | b
d = a.union(b)
print(c) # {1, 2, 3, 4, 5, 6}
print(d) # {1, 2, 3, 4, 5, 6}
以上代码中,我们定义了两个集合a
和b
,然后使用|
符号或union
函数对两个集合进行并集运算,得到了一个新集合t
。
差集运算
差集是指在一个集合中出现,但在另一个集合中没有出现的元素,可以使用-
符号或difference
函数来实现。例如:
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
c = a - b
d = a.difference(b)
print(c) # {1, 2}
print(d) # {1, 2}
以上代码中,我们定义了两个集合a
和b
,然后使用-
符号或difference
函数对两个集合进行差集运算,得到了一个新集合t
。
对称差集运算
对称差集是指两个集合的并集减去交集,可以使用^
符号或symmetric_difference
函数来实现。例如:
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
c = a ^ b
d = a.symmetric_difference(b)
print(c) # {1, 2, 5, 6}
print(d) # {1, 2, 5, 6}
以上代码中,我们定义了两个集合a
和b
,然后使用^
符号或symmetric_difference
函数对两个集合进行对称差集运算,得到一个新集合t
。
示例说明
示例1:统计一个字符串中出现过的不同字符
假设我们有一个字符串s
,我们需要统计它中出现过的不同字符。我们可以把字符串转换成一个集合,然后对集合进行长度计算。例如:
s = 'hello, world!'
unique_chars = set(s)
count = len(unique_chars)
print(count) # 10
以上代码中,我们把字符串s
转换成了一个集合unique_chars
,它包含了hello, world!
中出现过的所有字符,这些字符是唯一、不可变、无序的。然后我们用len
函数获取集合unique_chars
的长度,得到了10
。
示例2:求两个列表的交集
假设我们有两个列表a
和b
,我们需要求它们的交集。我们可以把列表转换成集合,然后对集合进行交集运算。例如:
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
intersection = set(a) & set(b)
print(intersection) # {3, 4}
以上代码中,我们把列表a
和b
分别转换成了两个集合,然后对这两个集合进行了交集运算,得到了结果集合t
。注意,我们使用了&
符号来表示交集运算。