一、什么是字典
字典:
- Python内置的数据结构之一,与列表一样是一个可变序列
- 以键值对的方式存储数据,字典是一个无序序列
二、字典示意图:
解析:字典是无序序列,存储时不会按照顺序来存储,即第一个存入的值可能在第6个位置,第二个存储的值可能存储在第4个位置,第四个存储的值可能存储在第1个位置。列表存储是按顺序存储的,第一个存储的是在第一个位置,第二个存储的值在第2个位置。
另:像字符串、整数等都是不可变序列,不可变序列不能执行增删改,如果要进行增删改则需要重新开辟一块内存空间,然后将变量指向新的内存空间。
三、字典的实现原理
字典的实现原理:
- 字典的实现原理与查字典类似,查字典是先根据部首或拼音查找汉字对应的页码,Python中的字典是根据key查找value所在的位置。
通过字典,查找任何值的步数都是一样的,即先查到key(通过偏旁和笔画,找到值在哪一页),然后定位到值的位置(找到字典对应的页数,即找到了字)
四、字典的创建
1.字典的创建方式:
1.1 最常用的方式:使用花括号{}
举例:
#使用{}创建字典 score={'张三':100,'李四':99,'王五':88} print(score,type(score))
执行结果如下:
1.2 使用内置函数dict()创建字典
举例:
#使用dict()函数创建字典 student=dict(name='jack',age=20) print(student,type(student))
执行结果如下:
1.3 创建空字典:
#创建空字典 d={} print(d,type(d))
执行结果是:
五、字典的常用操作
1. 字典中元素的获取
- 通过[]获取,举例:score['张三']
- 通过get()方法,举例:score.get('张三')
[]取值与使用get()取值的区别:
- []如果字典中不存在指定的key,抛出keyError异常
- get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回
1.1 通过[]获取举例:
#字典元素的获取,第一种方式使用[] score={'张三':100,'李四':99,'王五':88} print(score['张三']) print(score['陈六']) #不存在时,报KeyError
执行结果为:
1.2 通过get()方法举例: