dict和set
dict
Python内置了字典:dict,全称dictionary
使用示例:
这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value
由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉
如果key不存在,dict就会报错,可以通过in来判断key是否存在返回true或false,也可以通过get()来返回none或者指定返回值
删除key的话可以用pop(key),当然相应的value也会被删除
dict和list比较:
dict:
查找和插入的速度快,并且速度与key的数目无关,占用内存多,空间换时间
list:查找和插入的时间随着元素的增加而增加,占用内存少
注意:dict的key必须是不可变对象
set
set也是一组key的集合,但是不存储value,set不是有序的
set中的重复元素会被过滤掉,所以set中没有重复的元素
使用用例:
可见使用add(key)可以添加元素,remove(key)来删除元素
set可以看成数学上的集合,所以可以进行与"&"或"|"操作
set和dict的异同:
set和dict的区别在于是否有对应的value值
set和dict的原理是一样的,所以set中同样不可以放入可变对象,因为无法判断两个可变对象是否相等