Python 内置数据结构之七(set)

2020-02-17  本文已影响0人  Alexander_Zz

一、集 set

1.1 约定
1.2 set

二、set 的定义及初始化

2.1 定义
s1 = set()
s2 = set(range(5))
s3 = set(list(range(10)))
s4 = {}   # dict
s5 = {9,10,11}   # set
s6 = {(1,2),3,'a'}
s7 = {[1],(1,),1}   # ?
示例.png

三、set 的元素

3.1 set 的元素要求必须可以 hash
3.2 目前学过的不可 hash 的类型有 listbytearrayset
3.3 元素不可以索引
3.4 set 可迭代

四、set 增加

4.1 add(elem)
4.2 ipdate(*others)

五、set 删除

5.1 remove(elem)
5.2 discard(elem)
5.3 pop() -> item
5.4 clear()

六、set 修改、查询

6.1 修改
6.2 查询
6.3 遍历
6.4 成员运算符

七、set 成员运算符的比较

lst1 = list(range(100))
lst2 = list(range(1000000))
-1 in lst1、-1 in lst2 看看效率

set1 = set(range(100))
set2 = set(range(1000000))
-1 in set1、-1 in set2 看看效率
list 和 set 比较.png

八、set 和线性结构

8.1 线性结构的查询时间复杂度是 O(n),即随着数据规模的增大而增加耗时
8.2 set、dict 等结构,内部使用 hash 值作为 key,时间复杂度可以做到 O(1),查询时间和数据规模无关
8.3 可 hash
8.4 set 的元素必须是可 hash 的

九、集合

9.1 基本概念
上一篇 下一篇

猜你喜欢

热点阅读