廖雪峰py笔记5之dict
dict,字典
dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
注意观察括号,与查找方法。语法要看懂,上面这段代码给dict放入数据是是初始化指定放入的。
把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>> d['Adam'] = 67 >>> d['Adam'] 67
由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:
>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88
如果key不存在,dict就会报错:
要避免key不存在的错误,有两种办法,一是通过in
判断key是否存在:
>>> 'Thomas' in d
False
二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas') >>> d.get('Thomas', -1) -1
要删除一个key,用pop(key)
方法,对应的value也会从dict中删除:
>>> d.pop('Bob') 75 >>> d {'Michael': 95, 'Tracy': 85}
和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
而list相反:
- 查找和插入的时间随着元素的增加而增加;
- 占用空间小,浪费内存很少。
字典:d['hello'] = '你好'
列表:alist[0]='hello'
list的下标只能是数字 而且是连续的
字典的key可以是任意常量
下标指的是方括号里面的内容
字典在用key给值的时候用的是【】,而只有在定义的时候用{}
列表只能通过append之列的函数往里面添加元素
字典可以通过 [key]模式添加