• 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

     

  • 相关阅读:
    Echarts 实现 设备运行状态图(甘特图) 工业大数据展示
    npm install node-sass失败解决办法
    Leetcode -2
    机器学习基础算法应用实践案例整理
    机器学习常见降维方法及Python示例汇总【附完整代码】
    Matlab:在不同区域设置之间共享代码和数据
    LeetCode 0141. 环形链表 - 三种方法解决
    安全可靠的文件传输服务助力完成更高效的医疗保健工作(上)
    English语法_关系代词 - 注意事项
    Vitepress搭建组件库文档(下)—— 组件 Demo
  • 原文地址:https://blog.csdn.net/baidu_41651554/article/details/126924940