【字典】基本用法

【字典---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 来确认。

blob.png

也可以通过get来返回。

blob.png

在修改字典时

可以直接使用key来赋值,直接但是会把原来的的值顶掉。

blob.png

要删除一个key时要注意,可以使用pop(key),对应的value也会被删除。

字典内置函数

blob.png

字典内置方法;

blob.png

blob.png

字典dict和列表list比较有以下特点:

字典dict :

  1. 插入速度快,不会随着key的增加而增加。

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

列表 list:

 1. 查找和插入随着元素增加而增加。

 2. 占用内存少,节省空间。

也就是说字典的时间是用内存换取的。


猜你喜欢

转载自blog.51cto.com/13887323/2161396