当前位置:   article > 正文

python中的字典详解_python中字典

python中字典

目录

一.思考

二.字典定义

 注意

三.字典数据的获取

 注意

 字典的嵌套

 四.字典常用操作

1.新增、更新元素

2.删除元素

3.清空字典

4.获取全部Key

5.利用Key遍历字典

 五.字典总结

六.字典实例


 

一.思考

为什么需要字典?

 生活中的字典我们可以根据【字】来找到对应的【含义】

python中的字典也是同理,不过叫法不同,在python中就是[Key]去找对应的[Value]

 比如说,我这里有一份名单,记录的是姓名和成绩:
 

姓名        

成绩
张三        76
李四87
王五90

现在需要将其通过Python录入至程序中,并可以通过学生姓名检索学生的成绩。

这个时候,用字典最适合

  1. {
  2. "张三":76,
  3. "李四":87,
  4. "王五":90
  5. }

这样就可以通过Key (姓名),取到对应的Value(成绩)

二.字典定义

字典的定义,同样使用{  },不过存储的元素是一个个的:键值对,如下语法:

  1. #定义字典字面量
  2. {key:value,key:value,key:value,.....,key:value}
  3. my_dict = {key:value,key:value,key:value,.....,key:value}
  4. #定义空字典两种方法
  5. my_dict = {}
  6. my_dict = dict()
  1. #定义字典字面量
  2. {"张三":76,"李四":87,"王五":90}
  3. my_dict = {"张三":76,"李四":87,"王五":90}
  4. #定义空字典两种方法
  5. my_dict2 = {}
  6. my_dict3 = dict()
  7. print(f"字典1的内容是{my_dict},类型为{type(my_dict)}")
  8. print(f"字典1的内容是{my_dict2},类型为{type(my_dict2)}")
  9. print(f"字典1的内容是{my_dict3},类型为{type(my_dict3)}")

运行结果是

 注意

如果字典中的关键字重复,那么只会输出最后一次结果,如图

三.字典数据的获取

字典同集合一样,不可以使用下标索引
但是字典可以通过Key值来取得对应的Value

 注意

只能由Key找到对应的Value

 字典的嵌套

字典的Key和value可以是任意数据类型( Key不可为字典)
那么,就表明,字典是可以嵌套的

需求如下:记录学生各科的考试信息
 

姓名语文数学英语
张三875687
李四678698
王五776860

代码如下

  1. my_dict = {
  2. "张三":{
  3. "语文":87,
  4. "数学":56,
  5. "英语":87
  6. },
  7. "李四":{
  8. "语文": 67,
  9. "数学": 86,
  10. "英语": 98
  11. },
  12. "王五":{
  13. "语文": 77,
  14. "数学": 68,
  15. "英语": 60
  16. }
  17. }
  18. print(f'王五的信息是:{my_dict["王五"]}')
  19. print(f"所有信息是:{my_dict}")
  20. print(my_dict["张三"]["语文"])
  21. print(my_dict["张三"]["数学"])
  22. print(my_dict["张三"]["英语"])
  23. Lisi_yingyu = my_dict["李四"]["英语"]
  24. print(f"李四的英语是:{Lisi_yingyu}")

结果是

 四.字典常用操作

  • 新增元素
  • 更新元素
  • 删除元素
  • 清空字典
  • 获取全部Key
  • 利用Key遍历字典

1.新增、更新元素

语法:字典[Key]= Value,结果:字典被修改,元素被更新

  1. my_dict = {"张三":76,
  2. "李四":87,
  3. "王五":90
  4. }
  5. my_dict["赵四"]=75
  6. print(f"添加赵四之后为:{my_dict}")
  7. my_dict["张三"]=98
  8. print(f"更新张三之后为:{my_dict}")

结果是

2.删除元素

语法:字典.pop(Key),结果:获得指定Key的value,同时字典被修改,指定Key的数据被删除

 

3.清空字典

语法:字典.clear(),结果:字典被修改,元素被清空

4.获取全部Key

语法:字典.keys()
结果:得到字典中的全部key 

5.利用Key遍历字典

  1. my_dict = {"张三":76,
  2. "李四":87,
  3. "王五":90
  4. }
  5. print(f"字典中的所有key为:{my_dict.keys()}")
  6. for name in my_dict.keys():
  7. print(f"字典的key是:{name},其value是:{my_dict[name]}")

 结果是

 

 五.字典总结

  1. 可以容纳多个数据
  2. 可以容纳不同类型的数据
  3. 每一份数据是KeyValue键值对
  4. 可以通过Key获取到value,Key不可重复(重复会覆盖)
  5. 不支持下标索引
  6. 可以修改(增加或删除更新元素等)
  7. 支持for循环,不支持while循环

六.字典实例

有如下员工信息,请使用字典完成数据的记录。
并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元

姓名部门工资级别
张三科技部30001
李四市场部50002
王五市场部70003
赵四科技部40001
赵六市场部60002

代码

  1. info_dict = {
  2. "张三":{
  3. "部门":"科技部",
  4. "工资":3000,
  5. "级别":1
  6. },
  7. "李四":{
  8. "部门":"市场部",
  9. "工资":5000,
  10. "级别":2
  11. },
  12. "王五": {
  13. "部门": "市场部",
  14. "工资": 7000,
  15. "级别": 3
  16. },
  17. "赵四": {
  18. "部门": "科技部",
  19. "工资": 4000,
  20. "级别": 1
  21. },
  22. "赵六": {
  23. "部门": "市场部",
  24. "工资": 6000,
  25. "级别": 2
  26. }
  27. }
  28. print(f"改变之前的信息为:{info_dict}")
  29. for name in info_dict.keys():
  30. if info_dict[name]["级别"]==1:
  31. info_dict[name]["级别"]+=1
  32. info_dict[name]["工资"]+=1000
  33. print(f"改变之后的信息为:{info_dict}")

结果为

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/515570
推荐阅读
相关标签
  

闽ICP备14008679号