python内部的数据结构之一,与列表一样,是一个可变序列(可以进行增删改操作)
- 以键值对方式存储数据(一对一对的存在)
- 无序序列
- 字典中储存的元素为键值对,key不可重复,value可重复
- 字典中的key为不可变对象
- 字典会浪费较大内存,是一种用空间换时间的数据结构(查询速度快,但浪费储存空间)
例:scores = { ' 张三 ' : 100 , ' 李四 ' : 80 , ...... }
scores:字典名
‘李四’:键,80:值(冒号之间的称为键,冒号之后的称为值)
每一对数据间用逗号隔开
实现原理
根据key(键)查找value(值)所在的位置(查找时先计算hash(key),这相当于找到索引)
字典的创建与删除
创建(2种方式)
- 使用花括号{}
scores = { ' 张三 ' : 100 , ' 李四 ' : 80 , ...... }
- 使用内置函数dict()
dict ( 张三 = 90 , 李四 = 90 , 王五='空' )
其中,等号左边为键,右边为值,键不加引号,值加不加引号取决于值的类型
空字典:d={}
字典的常用操作
元素的获取
- []
- 使用get()
区别:字典中不含指定的key时,[]抛出错误:KeyError,但get()返回None。
scores={
'张三':90,'李四':77,'王五':99}
print(scores['张三'])#90
print(scores.get('张三'))#90
print(scores.get('陈六',101)) #101
#查询的值在字典中不存在,指定返回默认值101,若未指定默认值则返回None
键的判断
判断指定的键在字典中是否存在:使用in 或 not in
scores={