• Python_数据容器_字典


    一、字典(映射)的定义 

    生活中的字典:

    【字】:【含义】

    可以按【字】找出对应的【含义】

    Python中的字典:

    key : value

    可以按照[key]找出对应的[value]

    1、Python字典使用场景:

     

    通过使用字典,实现用key取出value的操作  

    2、字典的定义: 字典中的元素为键值对

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

    字典dict中的key不允许重复

    3、字典数据的获取

    字典和集合一样,不可以使用下标索引

    但是字典可以通过key值来取得对应的value

    4、字典的嵌套

    字典的key和value可以是任意数据类型(key不可以为字典)

    表明字典是可以嵌套的

    需求如下:记录学生各科的考试信息  学生姓名作为key 各科成绩作为value

    1. """
    2. 演示数据容器字典的定义
    3. """
    4. # 定义字典 key:value  --为一个元素
    5. my_dict1 = {"moew":100,"piggy":0,"doggy":22}
    6. # 定义空字典
    7. my_dict2 = {}
    8. my_dict3 = dict()
    9. print(f"字典1内容:{my_dict1},类型{type(my_dict1)}")
    10. print(f"字典2内容:{my_dict2},类型{type(my_dict2)}")
    11. print(f"字典3内容:{my_dict3},类型{type(my_dict3)}")
    12. # 定义重复key的字典 key不允许重复
    13. my_dict4 = {"piggy":100,"piggy":0,"doggy":22}
    14. print(f"重复key的字典内容是:{my_dict4}")
    15. # 从字典中基于key获取value
    16. my_dict1 = {"moew":100,"piggy":0,"doggy":22}
    17. score = my_dict1["moew"]
    18. print(f"moew中对应的值是:{score}")
    19. score = my_dict1["piggy"]
    20. print(f"piggy中对应的值是:{score}")
    21. # 定义嵌套字典
    22. info_dict = {
    23.     "moew":{
    24.         '语文':88,
    25.         '数学':90,
    26.         '英语':100
    27.     },"piggy":{
    28.         '语文':78,
    29.         '数学':80,
    30.         '英语':90
    31.     },"doggy":{
    32.         '语文':68,
    33.         '数学':70,
    34.         '英语':60
    35.     }
    36. }
    37. print(info_dict)
    38. # 从嵌套字典中获取数据 看一下 doggy 数学
    39. score = info_dict["doggy"]['数学']
    40. print(f"doggy的数学:{score}")

    二、字典的常用操作

    1、新增元素

    语法:字典[key]=Value  字典被修改 新增了元素

    2、更新元素

    语法:对于已存在的key 字典[key]=Value  字典被修改 新增了元素

    由于字典key不可以重复 所以对已存在的key执行该操作就是更新value

    3、删除元素

    语法:字典.pop()  获得指定key的value,同时字典被修改,指定key的value被删除

    3、清空元素

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

    4、获取全部的key 

    语法:字典.keys()

    字典的常用操作总结:

    字典的特点总结:

    • 可以容纳多个数据

    • 可以容纳不同类型的数据

    • 每一分数据都是key:value键值对

    • 可以通过key取到value,key不可以重复(重复会覆盖)

    • 不支持下标索引

    • 可以修改(增加或删除更新元素等)

    • 支持for循环,不支持while循环

    案例练习:

    1. # 有如下员工 使用字典完成数据记录 使用for循环对于级别为1的员工级别上升一级 薪水增加1000元
    2. info_dict = {'mew':{'部门':'科技部','工资':3000,'级别':1},
    3.              'dog':{'部门':'市场部','工资':5000,'级别':2},
    4.              'pig': {'部门': '市场部', '工资': 7000, '级别': 3},
    5.              'rat': {'部门': '科技部', '工资': 4000, '级别': 1},
    6.              'panda': {'部门': '市场部', '工资': 6000, '级别': 2},
    7.              }
    8. print(f"全体员工当前信息如下:{info_dict}")
    9. for inf in info_dict:
    10.         if info_dict[inf]['级别'] == 1:
    11.             info_dict[inf]['级别'] = 2
    12.             info_dict[inf]['工资'] += 1000
    13.        # if tmp_dict[inf]['级别'] == '1':
    14. print(f"全体员工级别为1的员工完成升级加薪后信息如下:{info_dict}")

  • 相关阅读:
    26-大数据架构为什么要用kafka
    在el-table表头上引入组件不能实时传参bug
    【DevOps】Git 核心操作命令——掌握了就算入门了Git
    【C++中预处理语句 include、define、if】
    JavaScript的数组、函数的两种定义方式、js中的函数不允许重载
    openresty lua-resty-lock数据库锁
    人工神经网络 人工智能,人工智能神经网络技术
    SQL RIGHT JOIN 详解
    算法分析与设计:10 大排序算法大汇总(Java)
    劣币驱良币的 pacing 之殇
  • 原文地址:https://blog.csdn.net/springbear/article/details/128105697