在Python中,set
是一个内置的数据类型,它是一个无序的、不包含重复元素的集合。你可以使用 set
来存储唯一的元素,并且可以进行数学上的集合运算,比如并集、交集、差集等。
创建空集合
创建空集合时,有几种不同的方法,但是使用大括号 {}
是不推荐的,因为它可能会与字典的表示混淆。以下是创建空集合的推荐方法:
使用
set()
函数:my_set = set()
使用
{}
,但是为了明确表示这是一个空集合,可以添加一个|
运算符,这在Python中用于指定集合的元素:my_set = { ()}
使用
copy
方法从另一个集合复制,如果你有一个非空集合的话:another_set = { 1, 2, 3} my_set = set(another_set) # 这会创建一个空集合,如果 another_set 是空的话
集合的基本操作
以下是一些集合的基本操作:
添加元素:
my_set = set() my_set.add(1) # 添加一个元素 my_set.add(2) # 添加另一个元素
删除元素:
my_set.remove(1) # 删除元素1,如果元素不存在会报错 my_set.discard(2) # 删除元素2,如果元素不存在不会报错
清空集合:
my_set.clear() # 清空集合
集合运算:
- 并集:
set_a = { 1, 2, 3} set_b = { 3, 4, 5} union_set = set_a | set_b # 或者使用 set_a.union(set_b)
- 交集:
intersection_set = set_a & set_b # 或者使用 set_a.intersection(set_b)
- 差集:
difference_set = set_a - set_b # 元素在 set_a 中,但不在 set_b 中
- 对称差集(两个集合中不重叠的部分):
symmetric_difference_set = set_a ^ set_b # 或者使用 set_a.symmetric_difference(set_b)
- 并集:
测试成员资格:
contains_2 = 2 in my_set # 如果2在集合中则为True
转换为列表或元组:
list_set = list(my_set) tuple_set = tuple(my_set)
集合的迭代:
for element in my_set: print(element)