【字典---dict】
相比较链表来说 ,字典是比较快的,举例来说下。
比如考试需要查成绩。
list语句如下:
names = ['a', 'b', 'c'] scores = [95, 75, 85]
如果要根据名字来查成绩,需要现在naemes中查找,然后会在scores找成绩,也就是是说list越长,耗时间也就最大了。
dict语句如下:
dict = {'a':95,'b':75,'c':85} dict['a']
在字典中可以比较快的找到是因为 它可以直接根据key的hash,来直接找到哦对应value的值。
所以字典是一个 key _ value 键值对的数据的集合,
而且是一个 可变的, 无序的, key不重复的特殊集合。
注意事项:
在访问字典是如果key不在字典中,会立即返回错误。
如下:
dict = {'a':95,'b':75,'c':85} dict['r']
会返回下列错误:
KeyError Traceback (most recent call last)<ipython-input-72-b849e302f44d> in <module>() 1 dict = {'a':95,'b':75,'c':85} ----> 2 dict['r'] KeyError: 'r'
为了避免错误产生,可以使用in 来确认。
也可以通过get来返回。
在修改字典时
可以直接使用key来赋值,直接但是会把原来的的值顶掉。
要删除一个key时要注意,可以使用pop(key),对应的value也会被删除。
字典内置函数
字典内置方法;
字典dict和列表list比较有以下特点:
字典dict :
插入速度快,不会随着key的增加而增加。
需要占用大量内存,浪费内存。
列表 list:
1. 查找和插入随着元素增加而增加。
2. 占用内存少,节省空间。
也就是说字典的时间是用内存换取的。