• 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}")

  • 相关阅读:
    After Effects动态图形和数据可视化
    人民艺术家梁永和丹青传情新时代
    objectarx + libcurl下载文件遇到的问题
    C++ Primer第五版_第十九章习题答案(11~20)
    【CDH】超详细-搭建本地大数据研发环境(16G内存+CDH)
    如何在聊天记录中实时查找大量的微信群二维码
    .locked勒索病毒的最新威胁:如何恢复您的数据?
    内存分配malloc和free
    解决微信小程序(uniapp)中无法读取本地音频问题
    leetcode 1921. 消灭怪物的最大数量(每日一题)
  • 原文地址:https://blog.csdn.net/springbear/article/details/128105697