Python 字典常用操作之键值对的高效数据管理

 更新时间:2026年02月14日 09:58:10   作者:码云数智-大飞  
在 Python 的内置数据结构中,字典(dict)以其灵活、高效和直观的特性,成为开发者最常用的工具之一,本文将带你从零开始,系统掌握 Python字典的基础知识与常用操作,感兴趣的朋友跟随小编一起看看吧

在 Python 的内置数据结构中,字典(dict)以其灵活、高效和直观的特性,成为开发者最常用的工具之一。无论是存储配置信息、缓存数据,还是进行快速查找,字典都扮演着不可或缺的角色。本文将带你从零开始,系统掌握 Python 字典的基础知识与常用操作。

一、什么是字典?

字典是一种可变的、无序的(在 Python 3.7+ 中保持插入顺序)、以键值对(key-value pair)形式存储数据的容器。

  • 键(key):必须是不可变类型(如字符串、数字、元组),且唯一。
  • 值(value):可以是任意类型,包括列表、函数甚至另一个字典。

字典用花括号 {} 定义,例如:

student = {
    "name": "Elizabeth",
    "age": 20,
    "courses": ["Math", "Physics"]
}

二、创建字典的几种方式

直接使用花括号

d = {"a": 1, "b": 2}

使用 dict() 构造函数:

d = dict(name="Alice", age=25)
# 或
d = dict()

从其他数据结构生成(如列表推导式):

keys = ['x', 'y', 'z']
values = [10, 20, 30]
d = dict(zip(keys, values))  # {'x': 10, 'y': 20, 'z': 30}

三、字典的基本操作

1. 访问值

通过键获取对应的值:

print(student["name"])  # 输出: Elizabeth

⚠️ 若键不存在,会抛出 KeyError。为避免错误,可使用 .get() 方法:

print(student.get("grade", "N/A"))  # 键不存在时返回默认值 "N/A"

2. 添加或修改元素

student["grade"] = "A"      # 新增键值对
student["age"] = 21         # 修改已有键的值

3. 删除元素

del student["age"]          # 删除指定键
# 或
grade = student.pop("grade")  # 删除并返回值

4. 检查键是否存在

if "name" in student:
    print("Name is recorded.")

四、常用方法与技巧

方法说明
keys()返回所有键的视图(类似列表)
values()返回所有值的视图
items()返回键值对的元组列表,常用于遍历
update()合并另一个字典或键值对
clear()清空字典

遍历字典示例:

for key, value in student.items():
    print(f"{key}: {value}")

五、字典的典型应用场景

计数器:统计字符、单词出现次数

from collections import defaultdict
count = defaultdict(int)
for char in "hello":
    count[char] += 1

配置管理:存储程序参数

config = {"host": "localhost", "port": 8080}
  • 缓存/映射:快速查找(如用户ID → 用户信息)
  • JSON 数据表示:字典结构与 JSON 高度兼容,常用于 API 交互

六、注意事项

  • 字典的键必须可哈希(immutable),不能是列表或字典。
  • 自 Python 3.7 起,字典保持插入顺序,但不应依赖此特性进行逻辑设计(除非明确需要)。
  • 多个变量引用同一个字典时,修改会影响所有引用(因为字典是可变对象)。

七、小结

字典是 Python 中功能强大且使用频率极高的数据结构。它以“键”为索引,实现 O(1) 平均时间复杂度的查找、插入和删除操作,极大提升了程序效率。掌握字典的创建、访问、修改与遍历,是迈向 Python 编程熟练之路的重要一步。

正如字典本身所寓意的——“以名取物”,在代码世界中,它帮助我们用有意义的名称组织和管理数据,让程序更清晰、更高效。

提示:当你需要“通过名字找东西”时,优先考虑使用字典!

到此这篇关于Python 字典常用操作之键值对的高效数据管理的文章就介绍到这了,更多相关python字典键值对内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot静态资源路径的配置与修改详解

    Spring Boot静态资源路径的配置与修改详解

    最近在做SpringBoot项目的时候遇到了“白页”问题,通过查资料对SpringBoot访问静态资源做了总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • ThreadPoolExecutor中的submit()方法详细讲解

    ThreadPoolExecutor中的submit()方法详细讲解

    在使用线程池的时候,发现除了execute()方法可以执行任务外,还发现有一个方法submit()可以执行任务,本文就详细的介绍一下ThreadPoolExecutor中的submit()方法,具有一定的参考价值,感兴趣的可以了解一下
    2022-04-04
  • Java通过递归算法解决迷宫与汉诺塔及八皇后问题

    Java通过递归算法解决迷宫与汉诺塔及八皇后问题

    方法就是用来完成解决某件事情或实现某个功能的办法;程序调用自身的编程技巧称为递归,本文主要讲的是通过递归来实现三个经典的问题,解决迷宫,汉诺塔,八皇后问题,感兴趣的朋友可以参考一下
    2022-05-05
  • HttpServletRequest对象方法的用法小结

    HttpServletRequest对象方法的用法小结

    HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息
    2017-03-03
  • Java逻辑运算符之&&、|| 与&、 |的区别及应用

    Java逻辑运算符之&&、|| 与&、 |的区别及应用

    这篇文章主要介绍了Java逻辑运算符之&&、|| 与&、 |的区别及应用的相关资料,分别是&&、|| 与&、 |,并探讨了它们在不同应用场景中的表现和优化效果,需要的朋友可以参考下
    2025-03-03
  • Spring之配置multipartResolver解析器、上传文件、处理文件过程

    Spring之配置multipartResolver解析器、上传文件、处理文件过程

    文章介绍了Spring中处理multipart表单的两种解析器(CommonsMultipartResolver和StandardServletMultipartResolver)的配置方法,包括文件大小限制、临时存储路径设置,以及通过enctype和accept属性控制上传格式,强调MultipartFile需配置解析器,而Part接口无需
    2025-08-08
  • Spring运行时手动注入bean的方法实例

    Spring运行时手动注入bean的方法实例

    spring给我们提供了IOC服务,让我们可以用注解的方式,方便的使用bean的相互引用,下面这篇文章主要给大家介绍了关于Spring运行时手动注入bean的相关资料,需要的朋友可以参考下
    2022-05-05
  • Java使用opencv识别二维码的完整步骤

    Java使用opencv识别二维码的完整步骤

    OpenMV是一个开源,低成本,功能强大的机器视觉模块,下面这篇文章主要给大家介绍了关于Java使用opencv识别二维码的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • SpringBoot 代码风格推荐

    SpringBoot 代码风格推荐

    本文主要介绍了Spring Boot 项目定义了统一的包结构与命名规范,涵盖分层架构、实体对象、工具类的命名与放置规则,强调各层对象隔离与技术层分,下面就来详细的介绍一下
    2026-05-05
  • JAVA JDK8 List分组获取第一个元素的方法

    JAVA JDK8 List分组获取第一个元素的方法

    今天小编就为大家分享一篇关于JAVA JDK8 List分组获取第一个元素的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12

最新评论