Python 集合


在 Python 中,集合(Set)是一种无序且不重复的数据集合。集合可以用于执行常见的数学集合操作,如并集、交集、差集等。以下是关于 Python 集合的详细介绍。

1. 创建集合

可以使用一对花括号 {}set() 函数来创建集合。

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

# 使用 set() 函数创建集合
another_set = set([4, 5, 6, 7, 8])

2. 集合操作

Python 集合支持常见的集合操作,如并集、交集、差集、对称差等。

并集(Union)

将两个集合中的所有元素合并到一个新集合中。

set1 = {1, 2, 3}
set2 = {3, 4, 5}

union_set = set1 | set2  # 或者使用 union_set = set1.union(set2)
print(union_set)  # 输出: {1, 2, 3, 4, 5}

交集(Intersection)

找出两个集合中共有的元素。

intersection_set = set1 & set2  # 或者使用 intersection_set = set1.intersection(set2)
print(intersection_set)  # 输出: {3}

差集(Difference)

从第一个集合中移除与另一个集合相同的元素。

difference_set = set1 - set2  # 或者使用 difference_set = set1.difference(set2)
print(difference_set)  # 输出: {1, 2}

对称差(Symmetric Difference)

返回两个集合中不重复的元素。

symmetric_difference_set = set1 ^ set2  # 或者使用 symmetric_difference_set = set1.symmetric_difference(set2)
print(symmetric_difference_set)  # 输出: {1, 2, 4, 5}

3. 集合方法

Python 提供了一些用于操作集合的方法。

  • add():向集合中添加元素。
  • remove():从集合中移除指定元素,如果元素不存在则抛出 KeyError 异常。
  • discard():从集合中移除指定元素,如果元素不存在则不抛出异常。
  • pop():随机移除并返回集合中的一个元素。
  • clear():移除集合中的所有元素。
my_set.add(6)  # 添加元素
print(my_set)  # 输出: {1, 2, 3, 4, 5, 6}

my_set.remove(6)  # 移除元素
print(my_set)  # 输出: {1, 2, 3, 4, 5}

my_set.discard(7)  # 移除不存在的元素
print(my_set)  # 输出: {1, 2, 3, 4, 5}

popped_element = my_set.pop()  # 随机移除并返回元素
print(popped_element)  # 输出: 1
print(my_set)  # 输出: {2, 3, 4, 5}

my_set.clear()  # 清空集合
print(my_set)  # 输出: set()

4. 遍历集合

可以使用 for 循环遍历集合中的元素。

my_set = {1, 2, 3, 4, 5}

for element in my_set:
    print(element)

输出:

1
2
3
4
5

5. 不可变集合

Python 中还有一种不可变集合(frozenset),它的内容不可更改。

immutable_set = frozenset([1, 2, 3, 4, 5])

print(immutable_set)  # 输出: frozenset({1, 2, 3, 4, 5})

通过掌握这些知识,你可以更好地理解和利用 Python 中的集合数据结构。


原文链接:codingdict.net