Python集合Set的基本用法和特点

需积分: 10 0 下载量 194 浏览量 更新于2024-09-08 收藏 9KB MD 举报
集合、字典 集合是一种基本的数据结构,在 Python 中,集合是指一个无序的、不可重复的元素集合。下面是集合的基本概念和特点: **特点** * 可变的无序的不重复的元素的集合 * 集合元素是唯一的不能修改的 * 集合元素不可索引 * 集合可迭代 **表示** * `set()`:创建一个新的空集合 * `set(iterable)`: 创建一个新的集合,从可迭代对象中获取元素 **集合增加** * `add(elem)`: 增加一个元素到集合中,如果元素已经存在则什么都不做 * `update(*others)`: 合并其它元素到集合中来,参数others必须是可迭代对象 **集合删除** * `remove(elem)`: 从集合中移除一个元素,元素不存在抛出KeyError异常 * `discard(elem)`: 从集合中移除一个元素,元素不存在什么都不做 * `pop()`: 移除并返回任意的元素,空集返回KeyError异常 * `clear()`: 移除所有元素 **集合修改、查询** * 修改:要么删除、要么加入新的元素 * 索引:非线性结构无法索引 * 遍历:可迭代所有元素 * 成员运算符:in和notin判断元素是否在集合中,效率非常高 **集合成员运算符的比较** * 与list的比较,set的成员运算符in的效率比较高,因为用的是hash算法 **集合和线性结构** * 线性结构的查询时间复杂度是O(n),即随着数据规模的增大而增加耗时 * 集合、字典等结构,内部使用hash值作为key,时间复杂度可以做到O(1) * 可hash的值:数值型、布尔型、字符串类型、tuple、None等不可变类型 **基本概念** * 全集:所有元素的集合,例如实数 在 Python 中,集合是一种非常有用的数据结构,它提供了高效的成员运算符和快速的元素添加、删除操作。然而,集合元素必须是可hash的,否则将抛出TypeError异常。同时,集合也可以与其他数据结构进行组合,例如与列表、字典等,提供了更加灵活的数据处理方式。