1、打开Pycharm,创建Python文件,复制代码,保存运行!
# 字典的定义,同样使用{},不过存储的元素是一个个的:键值对 dict()
# {key:value,key:value,key:value,key:value.....}
# 定义字典 一个元素由一个key和value组成
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}
# 定义空字典
my_dict2 = dict()
my_dict3 = {}# 字典可以使用
print(f"字典1的内容是{my_dict},类型是{type(my_dict)}")
print(f"字典2的内容是{my_dict2},类型是{type(my_dict2)}")
print(f"字典3的内容是{my_dict3},类型是{type(my_dict3)}")
# 定义重复的字典 和集合类似不允许重复 key不相同 后面会覆盖前面的值
my_dict4= {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,"张三":100,"李四":100,"王五":100,"张二":100,"孙六":100}
print(f"重复字典4的内容是{my_dict4}")
# 从字典中基于key获取value的值 类似下标索引的方式,返回的是一个值得用变量接收
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}
score = my_dict["孙六"]
print(f"孙六的成绩是:{score}")
# 字典的嵌套
# 字典的Key和Value可以是任意数据类型 (key不可为字典)
# 那么,就表明,字典是可以嵌套的需求
# 如下:记录学生各科的考试信息
stu_score_dict = {
"张三":{
"语文":88,"数学":99,"英语":40
},
"李四":{
"语文":90,"数学":85,"英语":60
},
"王五":{
"语文":88,"数学":77,"英语":99
}
}
print(f"学生的考试信息{stu_score_dict}")
# 从嵌套字典取出值
score2 = stu_score_dict["王五"]["英语"]# 先取出的是字典
print(f"王五的英语成绩是:{score2}")
# 字典的常用操作
# 新增元素,修改元素
# 语法:字典[key]=value 若key存在则更新后面的值,若不存在则添加新元素
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}
# 增加
my_dict["xpp"] = 100
print(f"新增后字典的值为{my_dict}")
# 修改
my_dict["张三"] = 19
print(f"修改后字典的值为{my_dict}")
stu_score_dict["王五"]["英语"] = 55
print(f"修改后字典的值为{stu_score_dict}")
# 删除元素
# 语法:字典.pop(Key) 结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除
value = my_dict.pop("xpp")
print(f"被删除元素的值是{value},删除后字典为{my_dict}")
# 清空元素
my_dict.clear()
print(f"清空my_dict结果是{my_dict}")
# 获取全部的key
# 语法:字典.keys()结果:得到字典中的全部Key
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}
keys = my_dict.keys()
print(f"字典的全部keys是{keys},类型是{type(keys)}")
# 遍历字典
# 方式1 获取所有的key
for key in keys:
print(f"字典的key是:{key},value是{my_dict[key]}")
# 方式2 直接对字典进行for循环,每一次循环都是直接得到key
for key in my_dict:
print(f"2字典的key是:{key},value是{my_dict[key]}")
# 统计字典元素数量 len(字典)
num = len(my_dict)
print(f"my_dict的长度是{num}")
# 练习
# 有如下员工信息,请使用字典完成数据的记录。
# 并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元
# 姓名 部门 工资 级别
# 王力鸿 科技部 3000 1
# 周杰轮 市场部 5000 2
# 林俊节 市场部 7000 3
# 张学油 科技部 4000 1
# 刘德滑 市场部 6000 2
ex_dict = {
"王力鸿":{
"部门":"科技部",
"工资":3000,
"级别":1
},"周杰轮":{
"部门":"科技部",
"工资":5000,
"级别":2
},"林俊节":{
"部门":"市场部",
"工资":7000,
"级别":3
},"张学油":{
"部门":"科技部",
"工资":4000,
"级别":1
},"刘德滑":{
"部门":"市场部",
"工资":6000,
"级别":2
}
}
for key in ex_dict:
if ex_dict[key]["级别"] == 1:
ex_dict[key]["级别"] += 1
ex_dict[key]["工资"] += 1000
print(f"升职加薪后的结果是{ex_dict}")