学习任务:字典和集合
一、字典
python中内置里字典,使用键-值(key-value)存储,具有极快的查找速度。
相较于list,dict查找结对应值,不会因为列表的长短而出现查找时间的变化。
由于key-value存储方式,,多次对一个key放入value,后面的值会把前面的值冲掉,如果key不存在dict就会报错。
为避免key不存在的错误,有两种方法可以判断key是否存在。一是通过in判断;二是通过get()方法,如果key不存在,返回None,或者自己指定的value,请注意,None在python交互环境中不显示结果。
要删除一个key,用pop(key)方法,对应的value也会从dict中删除。
和list相比,dict有以下几个特点:1.查找和插入的速度极快, 不会随着key的增加而变慢,2.需要占用大量的内存。
dict中,key必须是不可变对象,如字符串、整数等,list是可变的,不能作为key。
二、集合
set和dict类似,也是一组key 的集合,但不存储value,由于key不能重复,set中,没有重复的key。创建一个set需要提供一个list作为输入集合。
重复元素在set中自动被过滤,通过add(key)方法可以添加元素到set中,通过remove(key)方法,可以删除元素。set可以看成数学意义上无序和无重复元素的集合。
set和dict的唯一区别在于没有存储对应的value,但是set的原理和dict一样,所以不可以放入可变对象。