【字典---dict】python
相比较链表来讲 ,字典是比较快的,举例来讲下。ide
好比考试须要查成绩。函数
list语句以下:
ip
names = ['a', 'b', 'c'] scores = [95, 75, 85]
若是要根据名字来查成绩,须要如今naemes中查找,而后会在scores找成绩,也就是是说list越长,耗时间也就最大了。内存
dict语句以下:ci
dict = {'a':95,'b':75,'c':85} dict['a']
在字典中能够比较快的找到是由于 它能够直接根据key的hash,来直接找到哦对应value的值。get
因此字典是一个 key _ value 键值对的数据的集合,input
并且是一个 可变的, 无序的, key不重复的特殊集合。hash
注意事项:
it
在访问字典是若是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. 占用内存少,节省空间。
也就是说字典的时间是用内存换取的。