1 dict 类似于java中的map结构,采用key和value 对应的方式,可以通过key值查找其value 值
dict通过key计算value位置的算法为哈希,dict内部存放的顺序和key存放的顺序无关
定义一个dict
修改value值
dict 的一些方法:
get()函数 d.get(‘bob’) 如果key值不存在,返回none,也可以自定义返回值d.get(‘bob’,-1)
pop()函数用以删除一个key ,同时也删除了key对应的value值
和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
dict是用空间换时间的存储方法。
2 set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
set的创建方法:
使用list创建
重复元素在set中直接被过滤,可以通过add()函数向set中添加元素,但重复添加无效
通过remove() 元素可以删除set中的元素
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作: