首页 > 代码库 > 廖雪峰py笔记5之dict

廖雪峰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有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

 

       字典:d[‘hello‘] = ‘你好‘

 列表:alist[0]=‘hello‘

list的下标只能是数字 而且是连续的 


 


字典的key可以是任意常量
 
 
下标指的是方括号里面的内容
 

字典在用key给值的时候用的是【】,而只有在定义的时候用{}

 列表只能通过append之列的函数往里面添加元素



字典可以通过 [key]模式添加
 
 


廖雪峰py笔记5之dict