Python四种基本数据结构之三——字典的简单使用
字典(dict)
- dict全称dictionary,在其他语言中也称为map,使用键值对来存储,查找速度极快。
- dict实现的方式是,给定一个名字:a,dict在内部就可以计算出a对应的95存放的内存地址。
In [7]: d = {'a':95, 'b':90, 'c':85}
In [8]: d
Out[8]: {'a': 95, 'b': 90, 'c': 85}
# 使用key可以直接得到value
In [9]: d['a']
Out[9]: 95
# 通过key存入value
In [11]: d['d'] = 80
# value存在时,直接返回值,若值不存在,则返回KeyError
In [12]: d['d']
Out[12]: 80
In [16]: d.get('d')
Out[16]: 80
# 删除一个key,用pop(key)方法,对应的value也会从dict中删除
In [19]: d.pop('d')
Out[19]: 80
In [20]: d
Out[20]: {'a': 95, 'b': 90, 'c': 85}
In [21]: h = d.pop('b')
In [22]: h
Out[22]: 90
In [23]: d
Out[23]: {'a': 95, 'c': 85}
dict内部存放的顺序和key放入的顺序没有关系。
dict和list的比较
与上期刚介绍的列表相比,两者有以下几点异同点:
- dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢
- 需要占用大量的内存,内存浪费多
- list有以下几个特点:
- 查找和插入的时间随着元素的增加而增加
- 占用空间小,浪费内存少
所以dict是用空间来换取时间的方法。有一点一定要注意的是:dict的key值一定是不可变对象。假如是可变对象的话,每次对key使用hash算法,得到的内存地址都不一样的话,则dict就无法正常计算元素的位置了。