思维导图
代码
1. 数据容器:dict(字典、映射)
(1)字典的定义
# 字典的定义
# 定义字典
my_dict1 = {"王力鸿": 99, "周杰轮": 88, "林俊节": 77}
# 定义空字典
my_dict2 = {}
my_dict3 = dict()
print(my_dict1) # {'王力鸿': 99, '周杰轮': 88, '林俊节': 77}
print(my_dict2) #{}
print(my_dict3) #{}
# 定义重复key的字典
my_dict1 = {"王力鸿": 99, "王力鸿": 88, "林俊节": 77}
print(my_dict1) # {'王力鸿': 88, '林俊节': 77}
(2)字典数据的获取
# 定义字典
my_dict1 = {"王力鸿": 99, "周杰轮": 88, "林俊节": 77}
print(my_dict1["周杰轮"]) # 输出:88
print(my_dict1["王力鸿"]) # 输出:99
print(my_dict1["林俊节"]) # 输出:77
(3) 字典的嵌套
实现:
姓名 | 语文 | 数学 | 英语 |
王力鸿 | 77 | 66 | 33 |
周杰轮 | 88 | 86 | 55 |
林俊节 | 99 | 96 | 66 |
# 定义嵌套字典
my_dict1 = {
"王力鸿": {
"语文":77,
"数学":66,
"英语":33,
} ,
"周杰轮": {
"语文":88,
"数学":86,
"英语":55,
} ,
"林俊节": {
"语文":99,
"数学":96,
"英语":66,
}
}
print(my_dict1) # {'王力鸿': {'语文': 77, '数学': 66, '英语': 33}, '周杰轮': {'语文': 88, '数学': 86, '英语': 55}, '林俊节': {'语文': 99, '数学': 96, '英语': 66}}
print(my_dict1["林俊节"]) # {'语文': 99, '数学': 96, '英语': 66}
print(my_dict1["林俊节"]["英语"]) # 66
(4)常用操作
① 新增元素
stu_score = {
"王力鸿": 77,
"周杰轮": 88,
"林俊节": 99
}
# 新增张学油的分数
stu_score["张学油"] = 90
print(stu_score) # {'王力鸿': 77, '周杰轮': 88, '林俊节': 99, '张学油': 90}
② 更新元素
stu_score = {
"王力鸿": 77,
"周杰轮": 88,
"林俊节": 99
}
# 更新王力鸿的分数
stu_score["王力鸿"] = 90
print(stu_score) # {'王力鸿': 90, '周杰轮': 88, '林俊节': 99}
③删除元素
stu_score = {
"王力鸿": 77,
"周杰轮": 88,
"林俊节": 99
}
# 删除王力鸿的分数
stu_score.pop("王力鸿")
print(stu_score) # {'周杰轮': 88, '林俊节': 99}
④清空字典
stu_score = {
"王力鸿": 77,
"周杰轮": 88,
"林俊节": 99
}
# 清空字典
stu_score.clear()
print(stu_score) # {}
⑤获取全部key
stu_score = {
"王力鸿": 77,
"周杰轮": 88,
"林俊节": 99
}
# 获取全部key
print(stu_score.keys()) # dict_keys(['王力鸿', '周杰轮', '林俊节'])
⑥遍历字典
stu_score = {
"王力鸿": 77,
"周杰轮": 88,
"林俊节": 99
}
# 遍历字典
# 方式1:通过获取到全部的key来完成遍历
keys = stu_score.keys()
for key in keys:
print(key, stu_score[key])
# 王力鸿 77
# 周杰轮 88
# 林俊节 99
# 方式2:直接对字典进行for循环,每一次循环都是直接得到key
for key in stu_score:
print(key, stu_score[key])
# 王力鸿 77
# 周杰轮 88
# 林俊节 99
⑦统计字典内的元素数量
stu_score = {
"王力鸿": 77,
"周杰轮": 88,
"林俊节": 99
}
# 统计字典内的元素数量
num = len(stu_score)
print("字典内元素数量为:", num) # 字典内元素数量为: 3
· 练习:升职加薪
有如下员工信息,请使用字典完成数据的记录。
并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元
姓名 | 部门 | 工资 | 级别 |
王力鸿 | 科技部 | 3000 | 1 |
周杰轮 | 市场部 | 5000 | 2 |
林俊节 | 市场部 | 7000 | 3 |
张学油 | 科技部 | 4000 | 1 |
刘德滑 | 市场部 | 6000 | 2 |
my_dict = {
"姓名":{
"王力鸿":{
"部门": "科技部",
"工资": 3000,
"级别": 1
},
"周杰轮":{
"部门": "市场部",
"工资": 5000,
"级别": 2
},
"林俊节":{
"部门": "市场部",
"工资": 7000,
"级别": 3
},
"张学油":{
"部门": "科技部",
"工资": 4000,
"级别": 1
},
"刘德滑":{
"部门": "市场部",
"工资": 6000,
"级别": 2
}
}
}
print(f"修改前的字典:{my_dict}")
# 通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元
for name in my_dict["姓名"]:
if my_dict["姓名"][name]["级别"] == 1:
my_dict["姓名"][name]["级别"] += 1
my_dict["姓名"][name]["工资"] += 1000
print(f"修改后的字典:{my_dict}")
运行结果: