在Python中,set是一种无序且不重复的可变集合数据类型,用于存储唯一元素,支持高效的成员检测和集合运算(如并集、交集等)。其核心特点包括自动去重、基于哈希表实现的快速查询,以及不支持索引操作。
-
无序性与唯一性
set中的元素没有固定顺序,每次输出的排列可能不同。添加重复元素时,set会自动保留一个副本,例如{1, 2, 2}
会变为{1, 2}
。这一特性常用于数据清洗或统计不重复项。 -
可变与操作方法
通过add()
、remove()
等方法可动态修改set。例如s = {1, 2}; s.add(3)
会得到{1, 2, 3}
。但set本身不可哈希,因此不能作为字典的键或其他set的元素。 -
高效集合运算
set支持数学集合操作,如union()
(|
)、intersection()
(&
)等。例如{1, 2} & {2, 3}
返回{2}
,比列表遍历更高效。 -
应用场景
典型用途包括快速去重(如list(set(my_list))
)、关系测试(检查元素是否存在),或优化大数据集的查询性能。
使用set时需注意其无序性可能导致遍历结果不稳定,且仅能存储可哈希对象(如数字、字符串,但不可包含列表或字典)。合理利用set的特性可显著提升代码效率和简洁性。