Python的
& 运算符可用于不同集合类型,它主要用于集合的交集操作
下面分别介绍它在 set(集合)和 frozenset(不可变集合)这两种常见集合类型中的使用
set 类型
set 是 Python 中内置的可变集合类型,使用 & 运算符能找出两个或多个集合中共有的元素。
示例代码
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# 使用 & 运算符计算交集
intersection_set = set1 & set2
print(intersection_set) # 输出: {3, 4}
frozenset 类型
frozenset 是 Python 中内置的不可变集合类型,同样可以使用 & 运算符进行交集操作。
python# 定义两个不可变集合
frozenset1 = frozenset([1, 2, 3, 4])
frozenset2 = frozenset([3, 4, 5, 6])
# 使用 & 运算符计算交集
intersection_frozenset = frozenset1 & frozenset2
print(intersection_frozenset) # 输出: frozenset({3, 4})
多个集合的交集
& 运算符可以用于多个集合的交集计算,它会依次计算多个集合的共同元素。
pythonset1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
set3 = {4, 6, 7, 8}
# 计算多个集合的交集
intersection = set1 & set2 & set3
print(intersection) # 输出: {4}
与 intersection 方法的关系
& 运算符和 intersection 方法的作用是相同的,以下两种写法是等价的:
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# 使用 & 运算符
result1 = set1 & set2
# 使用 intersection 方法
result2 = set1.intersection(set2)
# 输出: True
print(result1 == result2)
总结
在 Python 中 & 运算符在集合类型中用于计算集合的交集,无论集合是可变的 set 还是不可变的 frozenset 都适用