Python基础语法第六章之字典

简介: 啥是键值对?这是计算机/生活中一个非常广泛使用的概念.把 键(key) 和 值(value) 进行一个一对一的映射, 然后就可以根据键, 快速找到值.

 一、字典

1.1字典是什么

字典是一种存储 键值对 的结构.

啥是键值对? 这是计算机/生活中一个非常广泛使用的概念.

把 键(key) 和 值(value) 进行一个一对一的映射, 然后就可以根据键, 快速找到值.

1.2创建字典

    • 创建一个空的字典. 使用 { } 表示字典.
    a = { }
    b = dict()
    print(type(a))
    print(type(b))

    image.gif

    也可以在创建的同时指定初始值

    键值对之间使用 , 分割, 键和值之间使用 : 分割. (冒号后面推荐加一个空格).

    使用 print 来打印字典内容

    student = { 'id': 1, 'name': 'zhangsan' }
    print(student)

    image.gif

    image.gif编辑

      • 为了代码更规范美观, 在创建字典的时候往往会把多个键值对, 分成多行来书写.
      student = {
          'id': 1,
          'name': 'zhangsan'
      }

      image.gif

      最后一个键值对, 后面可以写 , 也可以不写.

      1.3查找 key

        • 使用 in 可以判定 key 是否在 字典 中存在. 返回布尔值.
        student = {
            'id': 1,
            'name': 'zhangsan',
        }
        print('id' in student)
        print('score' in student)

        image.gif

        image.gif编辑

          • 使用 [ ] 通过类似于取下标的方式, 获取到元素的值. 只不过此处的 "下标" 是 key. (可能是整数, 也可能是字符串等其他类型).
          student = {
              'id': 1,
              'name': 'zhangsan',
          }
          print(student['id'])
          print(student['name'])

          image.gif

          image.gif编辑

            • 如果 key 在字典中不存在, 则会抛出异常.
            student = {
                'id': 1,
                'name': 'zhangsan',
            }
            print(student['score'])

            image.gif

            image.gif编辑

            1.4新增/修改元素

            使用 [ ] 可以根据 key 来新增/修改 value.

              • 如果 key 不存在, 对取下标操作赋值, 即为新增键值对
              student = {
                  'id': 1,
                  'name': 'zhangsan',
              }
              student['score'] = 90
              print(student)

              image.gif

              image.gif编辑

                • 如果 key 已经存在, 对取下标操作赋值, 即为修改键值对的值.
                student = {
                    'id': 1,
                    'name': 'zhangsan',
                    'score': 80
                }
                student['score'] = 90
                print(student)

                image.gif

                image.gif编辑

                1.5删除元素

                  • 使用 pop 方法根据 key 删除对应的键值对.
                  student = {
                      'id': 1,
                      'name': 'zhangsan',
                      'score': 80
                  }
                  student.pop('score')
                  print(student)

                  image.gif

                  image.gif编辑

                  1.6遍历字典元素

                  直接使用 for 循环能够获取到字典中的所有的 key, 进一步的就可以取出每个值了.

                  student = {
                      'id': 1,
                      'name': 'zhangsan',
                      'score': 80
                  }
                  for key in student:
                      print(key, student[key])

                  image.gif

                  image.gif编辑

                  1.7取出所有 key 和 value

                    • 使用 keys 方法可以获取到字典中的所有的 key
                    student = {
                        'id': 1,
                        'name': 'zhangsan',
                        'score': 80
                    }
                    print(student.keys())

                    image.gif

                    image.gif编辑

                    此处 dict_keys 是一个特殊的类型, 专门用来表示字典的所有 key. 大部分元组支持的操作对于

                    dict_keys 同样适用.

                      • 使用 values 方法可以获取到字典中的所有 value
                      student = {
                          'id': 1,
                          'name': 'zhangsan',
                          'score': 80
                      }
                      print(student.values())

                      image.gif

                      image.gif编辑

                        • 使用 items 方法可以获取到字典中所有的键值对
                        student = {
                            'id': 1,
                            'name': 'zhangsan',
                            'score': 80
                        }
                        print(student.items())

                        image.gif

                        image.gif编辑

                        1.8合法的 key 类型

                        字典本质上是一个 哈希表, 哈希表的 key 要求是 "可哈希的", 也就是可以计算出一个哈希值.

                          • 可以使用 hash 函数计算某个对象的哈希值.
                          • 但凡能够计算出哈希值的类型, 都可以作为字典的 key.
                          print(hash(0))
                          print(hash(3.14))
                          print(hash('hello'))
                          print(hash(True))
                          print(hash(())) # ( ) 是一个空的元组

                          image.gif

                          image.gif编辑

                            • 列表无法计算哈希值.
                            print(hash([1, 2, 3]))

                            image.gif

                            image.gif编辑

                              • 字典也无法计算哈希值
                              print(hash({ 'id': 1 }))

                              image.gif

                              image.gif编辑

                              目录
                              相关文章
                              |
                              1月前
                              |
                              存储 开发者 Python
                              python基本语法
                              Python的基本语法简洁而强大,支持多种编程范式,包括面向对象编程和函数式编程。通过掌握变量和数据类型、操作符、控制结构、函数、类和模块等基本概念,可以有效地编写高效、可读的Python代码。无论是初学者还是经验丰富的开发者,Python都提供了丰富的工具和库来满足各种编程需求。
                              70 13
                              |
                              1月前
                              |
                              JSON 监控 安全
                              深入理解 Python 的 eval() 函数与空全局字典 {}
                              `eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
                              45 2
                              |
                              3月前
                              |
                              XML JSON API
                              如何使用Python将字典转换为XML
                              本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
                              31 1
                              |
                              3月前
                              |
                              存储 索引 Python
                              Python 的基本语法
                              这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
                              170 61
                              |
                              3月前
                              |
                              IDE 数据挖掘 开发工具
                              Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
                              Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
                              58 7
                              |
                              3月前
                              |
                              存储 Python
                              Python编程入门:理解基础语法与编写简单程序
                              本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
                              80 1
                              |
                              3月前
                              |
                              机器学习/深度学习 数据挖掘 开发者
                              Python编程入门:理解基础语法与编写第一个程序
                              【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
                              |
                              3月前
                              |
                              存储 Python Perl
                              python正则语法
                              本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
                              39 2
                              |
                              4月前
                              |
                              存储 程序员 开发者
                              Python编程入门:从零开始掌握基础语法
                              【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
                              |
                              4月前
                              |
                              人工智能 Ubuntu IDE
                              【Python】基础:环境配置与基础语法
                              本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
                              136 4

                              热门文章

                              最新文章

                              推荐镜像

                              更多