• python--数据容器--字典


    目录

    字典的定义

    字典key 获取value

    字典的嵌套

     字典的常用操作

     新增元素

    更新元素

    删除元素

    清空字典

    获取全部的key


    字典的定义

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

    1. # 定义字典字面量
    2. {key:value, key:value,....,key:value}
    3. # 定义字典变量
    4. my_dict = {key: value, key: value ,.....}
    5. #定义空字典
    6. my_dict = {} #空字典定义方式1
    7. my_dict = dict() #空字典定义方式2

    字典key 获取value

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

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

    字典的嵌套

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

    那么就表明字典是可以嵌套的

    1. """
    2. 演示数据容器字典的定义
    3. """
    4. # 定义字典
    5. my_dict1 = {"wanglihong": 99, "miaowing": 100, "xiaolan": 98}
    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的字典
    13. # 字典不允许key 重复
    14. # 从字典中基于key获取value
    15. my_dict1 = {"wanglihong": 99, "miaowing": 100, "xiaolan": 98}
    16. print(my_dict1["wanglihong"])
    17. # 定义嵌套字典
    18. stu_score_dict = {
    19. "wanglihong":{
    20. "yuwen":77,
    21. "shuxue":123,
    22. "yingyu":121
    23. },
    24. "zhoujielun":{
    25. "yuwen": 79,
    26. "shuxue": 1233,
    27. "yingyu": 1213
    28. },
    29. "linjunjie":{
    30. "yuwen": 78,
    31. "shuxue": 113,
    32. "yingyu": 111
    33. }
    34. }
    35. print(stu_score_dict)
    36. # 从嵌套字典中获取数据
    37. #看zhoujielun的语文信息
    38. score = stu_score_dict["zhoujielun"]["yuwen"]
    39. print(score)
    1. 字典1的内容是:{'wanglihong': 99, 'miaowing': 100, 'xiaolan': 98},类型:<class 'dict'>
    2. 字典2的内容是:{},类型:<class 'dict'>
    3. 字典3的内容是:{},类型:<class 'dict'>
    4. 99
    5. {'wanglihong': {'yuwen': 77, 'shuxue': 123, 'yingyu': 121}, 'zhoujielun': {'yuwen': 79, 'shuxue': 1233, 'yingyu': 1213}, 'linjunjie': {'yuwen': 78, 'shuxue': 113, 'yingyu': 111}}
    6. 79

     字典的常用操作

     新增元素

    语法: 字典.[key] = value

    结果 字典被修改,新增了元素

    更新元素

    语法:字典[key]  = value

    结果:字典被修改 元素被更新

    注意: 字典key 不可以重复 所以对已存在的key 执行上述操作 就是更新value 值

    删除元素

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

    清空字典

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

    获取全部的key

            语法:字典.keys(). 

            结果:得到字典中的全部的key

    1. """
    2. 演示字典常用操作
    3. """
    4. my_dic = {"zhoujielun": 99, "linjunjie": 88, "zhangxueyou": 77, "zhangxinzhe": 66}
    5. # 新增元素
    6. print(my_dic)
    7. # 更新元素
    8. my_dic["zhoujielun"] = 33
    9. print(my_dic)
    10. # 删除元素
    11. score = my_dic.pop("zhoujielun")
    12. print(score)
    13. print(my_dic)
    14. # 清空元素
    15. my_dic.clear()
    16. print(my_dic)
    17. # 获取全部的key
    18. my_dic = {"zhoujielun": 99, "linjunjie": 88, "zhangxueyou": 77, "zhangxinzhe": 66}
    19. keys= my_dic.keys()
    20. print(f"字典的全部keys是{keys}")
    21. # 遍历字典
    22. # 方式1 通过获取到全部的key来完成遍历
    23. for key in keys:
    24. print(f"字典的key是{key}")
    25. print(f"字典的value是{my_dic[key]}")
    26. # 方式2 直接对字典进行for 循环 每一次循环都是直接得到Key
    27. for key in my_dic:
    28. print(key)
    29. print(my_dic[key])
    30. # 统计字典内的元素数量
    31. num = len(my_dic)
    32. print(num)
    1. {'zhoujielun': 99, 'linjunjie': 88, 'zhangxueyou': 77, 'zhangxinzhe': 66}
    2. {'zhoujielun': 33, 'linjunjie': 88, 'zhangxueyou': 77, 'zhangxinzhe': 66}
    3. 33
    4. {'linjunjie': 88, 'zhangxueyou': 77, 'zhangxinzhe': 66}
    5. {}
    6. 字典的全部keys是dict_keys(['zhoujielun', 'linjunjie', 'zhangxueyou', 'zhangxinzhe'])
    7. 字典的key是zhoujielun
    8. 字典的value是99
    9. 字典的key是linjunjie
    10. 字典的value是88
    11. 字典的key是zhangxueyou
    12. 字典的value是77
    13. 字典的key是zhangxinzhe
    14. 字典的value是66
    15. zhoujielun
    16. 99
    17. linjunjie
    18. 88
    19. zhangxueyou
    20. 77
    21. zhangxinzhe
    22. 66
    23. 4
    24. Process finished with exit code 0

     

  • 相关阅读:
    Guava中这些Map的骚操作,让我的代码量减少了50%
    Servlet
    CCF- CSP 201312-2 ISBN号码 满分题解
    论文翻译:《Phosvardeep:使用序列信息对磷酸变化的深度学习预测》
    开发工具篇第七讲:阿里云日志查询与分析
    Windows安装MySQL详细教程
    Linux性能优化--实用工具:性能工具助手
    多年锤炼,迈向Kata 3.0 !走进开箱即用的安全容器体验之旅| 龙蜥技术
    让图片完美适应:掌握 CSS 的object-fit与object-position
    定时器与requestAnimationFrame、requestIdleCallback
  • 原文地址:https://blog.csdn.net/baidu_41651554/article/details/126924940