点击跳转
《Python入门系列目录》
- 集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合
- 集合中元素不可重复
- 集合元素类型只能是固定数据类型
- 例如:整数、浮点数、字符串、元组等
- 列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现
- 集合是无序组合,没有索引和位置的概念,不能切片
- 集合中元素可以动态增加或删除
- 集合用大括号{}表示,可以用赋值语句生成一个集合
- 集合类型主要用于三个场景:成员关系测试、元素去重和删除数据项
- 集合类型与其他类型最大的不同在于它不包含重复元素。因此,当需要对一维数据进行去重或进行数据重复处理时,一般通过集合来完成
1. 集合的分类
- 可变集合(set)
- {}:生成的是空字典
- set()将数据结构转换为可变集合类型
- 不可变集合(frozenset)
- frozenset()将数据结构转换为不可变集合类型
2. 集合基本操作
-
集合类型的4种基本操作,操作逻辑与数学定义相同
- 交集(&)
- 并集(|)
- 差集(-)
- 补集(^)
-
集合类型6个操作符
操作 功能说明 S-=T 更新集合S,包括在集合S中但不在集合T中的元素 S&=T 更新集合S,包括同时在集合S和T中的元素 S^=T 更新集合S,包括S和T中的元素,但不包括同时在其中的元素 S|=T 更新集合S,包括集合S和T中的所有元素 S<=T 如果S<=T,返回True,否则返回False S>=T 如果S>=T,返回True,否则返回False -
集合类型的10个操作函数
操作 功能说明 set_name.add(x) 如果数据项x不在集合中,则将x增加到集合中 set_name.pop() 返回集合中的第一个元素,并且删除该元素 set_name.clear() 删除集合中的所有元素 set_name.discard(x) 如果x在集合中,则移除该元素;如果x不在,不报错 set_name.remove(x) 如果x在集合中,则移除该元素;如果不在,则报错 x in S 如果x在S中,返回True,否则返回False x not in S 如果x不在S中,返回True,否则返回False S.copy() 返回集合S的一个拷贝 len(S) 返回集合S元素个数 S.isdisjoint(T) 如果集合S与T没有相同元素,返回True