一. 字典的引入
1 引言: 字典是一种可变的,无序的,键值对,复杂的数据容器.
python中的字典是python中的一个键值映射的数据结构.
2 字典是一种可变无序的数据容器,且可以存储任意类型的对象,字典的每个键值key=value对用冒号’:’ 分割.每个键值对之间用逗号分隔, 整个字典数据包括在花括号{}之间. 字典常量用大括号表示,
例如:
{‘name’:‘wangjun’,‘age’:18,‘sex’:‘male’}, 其中’name’,‘age’,‘sex’是键,字符串’wangjun’,'male’以及数字18为值.
2 字典的应用场景
字典里面的数据是以键值对形式出现的,字典的数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字来查找数据即可.
3 字典的定义:
字典使用键值对存储字典,键值对之间使用’,'分隔
Ⅰ 字典用{}来定义
Ⅱ 键key是索引
Ⅲ 值value是数据
Ⅳ 键和值之间用":"来分隔
Ⅴ 键必须是唯一的
Ⅵ 值可以是任意数据类型,但是键只能是字符串,数字或者元组
在这里插入代码片
字典的创建
{} 大括号是字典创建的符号
<class 'dict'> 字典类型
字典之间的数据形式是键值对的形式 如key:value 的形式
key -->
冒号左边是字典的键,
字典的键必须唯一: 键可以是字符串/数组/元组/布尔类型,不能是列表
取值是根据键取对应的值
value -->
冒号右边的是键的值,可以是python中的任意的类型
如下:
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
二 字典常用的方法
1 常用的方法
2 取值
使用字典的[‘键’]可以获得字典的内容
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
print(dict['name'])
输出结果 job
3 使用字典[‘键’]=值修改字典的内容
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
#需求:job 的年纪变大一岁
dict['age']=19
print(dict['age'])
输出结果 19
3 当键不存在时添加内容
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
#需求:添加一个体重为55kg的数据
dict['weight']=55
print(dict['weight'])
print(dict)
输出结果 55
{'name': 'job', 'age': 18, 'sex': '男', 1: 1, (1,): (1,), 'weight': 55}
4 get 的取值
语法: 字典序列.get(key,默认值)
**注意:**如果当前查找的key不存在则返回第二个参数(默认值),如果第二个参数省略,则返回None
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
print(dict.get['name']) #job
5 获取键
.keys()
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
print(dict.keys()) #dict_keys(['name', 'age', 'sex', 1, (1,)])
6 获取值
.values()
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
print(dict.values()) #dict_values(['job', 18, '男', 1, (1,)])
7 获取键值对
.items()
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
print(dict.items()) #dict_items([('name', 'job'), ('age', 18), ('sex', '男'), (1, 1), ((1,), (1,))])
8 循环遍历
遍历就是依次从字典中获取所有的键值对
在这里插入代码片
dict={
'name':'job',
'age':18,
'sex':'男', #字符串
1:1, #数字
(1,):(1,) #元组
}
for key,values in dict.items():
print(key,values)
或者下面的方法
for key in dict.items():
print(key,dict[key])
输出结果
name job
age 18
sex 男
1 1
(1,) (1,)
9 字典更新
在这里插入代码片
合并字典
dict1={
'name':'张三',
'age':18
}
dict2={
'sex':'男',
'school':'北京大学'
}
dict1.update(dict2) #将dict2键值对合并到dict1
print(dict1)
输出结果
{'name': '张三', 'age': 18, 'sex': '男', 'school': '北京大学'}