赞
踩
目录
为什么需要字典?
生活中的字典我们可以根据【字】来找到对应的【含义】
python中的字典也是同理,不过叫法不同,在python中就是[Key]去找对应的[Value]
比如说,我这里有一份名单,记录的是姓名和成绩:
姓名 | 成绩 |
张三 | 76 |
李四 | 87 |
王五 | 90 |
现在需要将其通过Python录入至程序中,并可以通过学生姓名检索学生的成绩。
这个时候,用字典最适合
- {
- "张三":76,
- "李四":87,
- "王五":90
- }
这样就可以通过Key (姓名),取到对应的Value(成绩)
字典的定义,同样使用{ },不过存储的元素是一个个的:键值对,如下语法:
- #定义字典字面量
- {key:value,key:value,key:value,.....,key:value}
- my_dict = {key:value,key:value,key:value,.....,key:value}
- #定义空字典两种方法
- my_dict = {}
- my_dict = dict()
- #定义字典字面量
- {"张三":76,"李四":87,"王五":90}
- my_dict = {"张三":76,"李四":87,"王五":90}
- #定义空字典两种方法
- my_dict2 = {}
- my_dict3 = dict()
- print(f"字典1的内容是{my_dict},类型为{type(my_dict)}")
- print(f"字典1的内容是{my_dict2},类型为{type(my_dict2)}")
- print(f"字典1的内容是{my_dict3},类型为{type(my_dict3)}")
运行结果是
如果字典中的关键字重复,那么只会输出最后一次结果,如图
字典同集合一样,不可以使用下标索引
但是字典可以通过Key值来取得对应的Value
只能由Key找到对应的Value
字典的Key和value可以是任意数据类型( Key不可为字典)
那么,就表明,字典是可以嵌套的
需求如下:记录学生各科的考试信息
姓名 | 语文 | 数学 | 英语 |
张三 | 87 | 56 | 87 |
李四 | 67 | 86 | 98 |
王五 | 77 | 68 | 60 |
代码如下
- my_dict = {
- "张三":{
- "语文":87,
- "数学":56,
- "英语":87
- },
- "李四":{
- "语文": 67,
- "数学": 86,
- "英语": 98
- },
- "王五":{
- "语文": 77,
- "数学": 68,
- "英语": 60
- }
-
- }
- print(f'王五的信息是:{my_dict["王五"]}')
- print(f"所有信息是:{my_dict}")
- print(my_dict["张三"]["语文"])
- print(my_dict["张三"]["数学"])
- print(my_dict["张三"]["英语"])
- Lisi_yingyu = my_dict["李四"]["英语"]
- print(f"李四的英语是:{Lisi_yingyu}")
结果是
语法:字典[Key]= Value,结果:字典被修改,元素被更新
- my_dict = {"张三":76,
- "李四":87,
- "王五":90
- }
- my_dict["赵四"]=75
- print(f"添加赵四之后为:{my_dict}")
- my_dict["张三"]=98
- print(f"更新张三之后为:{my_dict}")
结果是
语法:字典.pop(Key),结果:获得指定Key的value,同时字典被修改,指定Key的数据被删除
语法:字典.clear(),结果:字典被修改,元素被清空
语法:字典.keys()
结果:得到字典中的全部key
- my_dict = {"张三":76,
- "李四":87,
- "王五":90
- }
- print(f"字典中的所有key为:{my_dict.keys()}")
- for name in my_dict.keys():
- print(f"字典的key是:{name},其value是:{my_dict[name]}")
结果是
有如下员工信息,请使用字典完成数据的记录。
并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元
姓名 | 部门 | 工资 | 级别 |
张三 | 科技部 | 3000 | 1 |
李四 | 市场部 | 5000 | 2 |
王五 | 市场部 | 7000 | 3 |
赵四 | 科技部 | 4000 | 1 |
赵六 | 市场部 | 6000 | 2 |
代码
- info_dict = {
- "张三":{
- "部门":"科技部",
- "工资":3000,
- "级别":1
- },
- "李四":{
- "部门":"市场部",
- "工资":5000,
- "级别":2
- },
- "王五": {
- "部门": "市场部",
- "工资": 7000,
- "级别": 3
- },
- "赵四": {
- "部门": "科技部",
- "工资": 4000,
- "级别": 1
- },
- "赵六": {
- "部门": "市场部",
- "工资": 6000,
- "级别": 2
- }
- }
- print(f"改变之前的信息为:{info_dict}")
- for name in info_dict.keys():
- if info_dict[name]["级别"]==1:
- info_dict[name]["级别"]+=1
- info_dict[name]["工资"]+=1000
- print(f"改变之后的信息为:{info_dict}")
结果为
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。