Python notes(4)-dict

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度

先初始化(用list初始化)一个dict:

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:

>>> d['Adam'] = 67
>>> d['Adam']
67

一个key只能对应一个value,多次对一个key放入value等同于对其对应的value重新赋值:

>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88

判断key是否存在:

>>> 'Thomas' in d
False

通过返回的bool值确定

通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

注意:返回None的时候Python的交互环境不显示结果(也就是无任何反应)。

删除一个key同样用pop(key),该key所对应的value也会从dict中删除

dict:

  1. 查找和插入的速度极快,不会随着key的增加而变慢

  2. 需要占用大量的内存,内存浪费多

list:

  1. 查找和插入的时间随着元素的增加而增加

  2. 占用空间小,浪费内存很少

dict的key必须是不可变对象。

通过key计算位置的算法称为哈希算法(Hash)