一.思考
为什么需要字典?
生活中的字典我们可以根据【字】来找到对应的【含义】
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
- 利用Key遍历字典
1.新增、更新元素
语法:字典[Key]= Value,结果:字典被修改,元素被更新
my_dict = {"张三":76,
"李四":87,
"王五":90
}
my_dict["赵四"]=75
print(f"添加赵四之后为:{my_dict}")
my_dict["张三"]=98
print(f"更新张三之后为:{my_dict}")
结果是
2.删除元素
语法:字典.pop(Key),结果:获得指定Key的value,同时字典被修改,指定Key的数据被删除
3.清空字典
语法:字典.clear(),结果:字典被修改,元素被清空
4.获取全部Key
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。