集合set
定义
-
可变的、无序的、不重复的元素集合
-
约定 set 为集合,collection 为集合类型,是一个大概念
-
set()定义空集合,如果s = {}则 type 为空字典 -
定义、初始化
-
s1 = set() s2 = set(range(5)) s3 = set(list(range(10))) s4 = {} #dict s5 = {1,2,3} #set s6 = {[1],(1,),1} #不可哈希 s7 = {(1,2),5,None,"abc",b'abc'}
-
set的元素
- set 的元素要求必须可以 hash #可使用
hash()测试 - 当前学过不可哈希的类型有 list、set
- 元素不可以索引
- set 可以迭代
- 不可变类型(可 hash)
- 数值型:int float complex
- 布尔型:Ture False
- string bytes
- tuple
- None
set增加
add(elem)- 增加一个元素到set中
- 如果元素存在,什么都不做
update(*others)- 合并其他元素到 set 集合中
- 参数 others 必须是可迭代对象
- 就地修改
set删除
remove(elem)- 从 set 中移除一个元素
- 元素不存在,抛 keyError 异常
discard(elem)- 从 set 中移除一个元素
- 元素不存在,什么都不做
pop()- 移除并返回任意的元素,#为什么是任意元素?
- 空集返回 keyError 异常
clear()- 移除所有元素
set查询、修改
- 修改
- 要么删除,要么加入新元素
- 查询
- 非线性结构,无法索引
- 遍历
- 可以迭代所有元素
- 成员运算符
- in 和 not in 判断元素是否在 set 中
- 效率极高,list 和 set 比较

浙公网安备 33010602011771号