Python 内建函数列表 > Python 的内置函数 set
Python 的内置函数 set() 是一个非常有用的数据结构,用于创建无序且不包含重复元素的集合。它提供了高效的成员检测和元素去重功能,是处理集合运算的理想选择。
基本用法
- 创建集合:
1# 使用花括号 2fruits = {'apple', 'banana', 'orange'} 3# 使用set()函数 4numbers = set([1, 2, 3, 2, 1]) # 结果为{1, 2, 3}
- 空集合创建:
1empty_set = set() # 注意:不能使用{},这会创建字典
主要特性
- 无序性:集合中的元素没有固定顺序
- 唯一性:自动去除重复元素
- 可变性:可以添加/删除元素
- 可迭代性:可以使用for循环遍历
常用操作
- 添加元素:
1s = {1, 2} 2s.add(3) # {1, 2, 3} 3s.update([4, 5]) # {1, 2, 3, 4, 5}
- 删除元素:
1s.remove(2) # 如果元素不存在会报错 2s.discard(2) # 元素不存在不会报错 3s.pop() # 随机删除并返回一个元素
- 集合运算:
1a = {1, 2, 3} 2b = {2, 3, 4} 3# 并集 4a.union(b) # {1, 2, 3, 4} 5# 交集 6a.intersection(b) # {2, 3} 7# 差集 8a.difference(b) # {1} 9# 对称差集 10a.symmetric_difference(b) # {1, 4}
应用场景
- 数据去重:
1lst = [1, 2, 2, 3, 3, 3] 2unique = set(lst) # {1, 2, 3}
- 快速成员检测:
1if user_input in valid_options: 2 # 比列表检测更高效
- 关系运算:
1# 检查两个用户的好友列表是否有交集 2common_friends = user1_friends & user2_friends
注意事项
- 集合只能包含可哈希(不可变)对象
- 不能通过索引访问元素
- 冻结集合(frozenset)是集合的不可变版本
- 集合在Python 3.7+中会保留插入顺序,但不应该依赖这个特性
集合是Python中处理唯一值集合的高效工具,合理使用可以显著提升代码性能和简洁性。Python 的内置函数 set
《Python 的内置函数 set》 是转载文章,点击查看原文。