如何在 Python 中修复 KeyError - 如何在 Python 中修复字典错误2024 年 8 月 29 日 | 5 分钟阅读 Python 是一种流行的语言,提供了多种库和函数,使代码更有效、更易于编写。像任何其他编程语言一样,Python 也有一组错误和异常,包括 ImportError、CompileError、KeyError 等。 Python 中的 KeyError 是什么?KeyError 是任何 Python 程序员都会遇到的最常见错误。KeyError 是在程序尝试访问字典中不存在的键时抛出的错误。字典是 Python 中的一种数据结构,它以标签存储数据,或者我们可以说它存储键值对。每个键都是唯一的,并与其关联的值。 让我们看一个会引发 KeyError 的简单示例 输出 --------------------------------------------------------------------------- KeyError Traceback (most recent call last) Cell In[4], line 2 1 keys = {"cat" : 1, "dog" : 2, "monkey" : 3} ----> 2 print(keys["cow"]) KeyError: 'cow' 说明 我们在其中创建了一个名为 **keys 的字典**,其中包含不同的键值对。然后,我们打印了与键 'cow' 关联的值。这个键在字典中不存在。默认情况下,**编译器在字典中找不到键 'cow' 会感到困惑,因此会抛出 KeyError**。 如何修复此错误?KeyError 可以通过多种方式修复。
输出 Key not found 说明 我们使用 if 语句的 'in' 运算符检查了键 "cow"。它会检查键是否存在于字典中。如果不存在,它将打印语句 "Key not found"。
输出 Key not found 说明 使用 get() 函数,我们检查了字典中的键 "cow"。它将检查键是否存在。如果不存在,它将打印语句 "Key not found"。
输出 0 0 0 cat 1 cow 0 dog 2 monkey 3 说明 我们首先从 collection 模块导入了 **defaultdict 库**。然后,我们创建了一个包含不同键值的字典,并将这些值添加到默认字典中。然后,我们尝试使用 defaultdict 访问一个不存在于字典中的键 "cow"。它将默认给出值 0。然后,我们使用循环语句访问字典中的所有键值。它将给出键 "cow" 及其值 0,以及字典中存在的其他键值。 JSON 数据中的 KeyErrorPython 程序在处理包含嵌套字典的 JSON 数据时,也可能遇到 KeyError。JSON(JavaScript Object Notation)是一种存储和修改结构化数据的格式。JSON 数据表示为嵌套字典。 让我们看几个 JSON 数据中键错误的例子。 示例:包含不同员工信息的 JSON 数据。 输出 --------------------------------------------------------------------------- KeyError Traceback (most recent call last) Cell In[8], line 15 1 emp_data = { 2 "employee": [ 3 { (...) 13 ] 14 } ---> 15 desp = emp_data["employee"][0]["department"] KeyError: 'description' 说明 我们创建了包含不同员工不同详细信息的 JSON 数据。然后,我们尝试访问一个不存在于数据中的键 "department"。由于我们尝试访问一个不存在的键,它将抛出键错误。 对于大型复杂 JSON 数据,KeyError 有时可能难以解决,因为很难在大量数据中找到丢失的键。 解决 JSON 数据中的 KeyErrorJSON 数据中键错误的基本且最简单的解决方案是在访问嵌套字典中的键之前进行检查。这就是我们解决 JSON 数据中键错误的方法。 代码 输出 No Department found in the Data 说明 它将检查数据中嵌套字典内的键。它将使用 if 条件检查数据中所有元素的非空列表。它将检查 **emp 中的键 "description"**。由于没有键 "department",它将打印消息 **"No department found in the Data"**。 如何忽略 KeyError?可以使用try 和 except 块来处理 KeyError。try-except 块用于处理程序中的故障或异常。 让我们通过几个例子来了解如何使用 try 和 except 块处理键错误。 示例:处理字典中的键错误 代码 输出 No key found 说明 我们尝试访问一个不存在于字典中的键 "cow"。为了处理此错误,我们使用try-except 块。如果键存在,它将打印值。否则,它将进入 except 块,打印"No key found"。 示例:处理 JSON 数据中的键错误 代码 输出 No Department found in the Data 说明 在这里,我们创建了包含员工详细信息的 JSON 数据。然后,我们尝试使用 try-except 块访问一个不存在的键。如果出现任何KeyError,它将抛出"No Department found in the data" 的异常。如果出现任何索引错误或类型错误,它将抛出异常并打印"No department found"。 |
切比雪夫多项式是正交多项式家族,用于数学的各个分支,例如信号处理、数值分析和近似理论。切比雪夫多项式可用于使用切比雪夫级数近似函数。切比雪夫级数是切比雪夫多项式的集合...
阅读 3 分钟
在本教程中,我们将学习Python的struct模块并理解其功能。Python中的struct模块提供了处理C风格数据结构和二进制数据的工具。它用于根据指定的格式将数据打包到二进制表示或从二进制表示中解包。这对于...
5 分钟阅读
该活动有超过20万次印象。许多读者表达了对如何制作它的兴趣,并积极接受。本文旨在帮助那些读者以及任何有兴趣制作类似插图的人。本文的目标是提供一个...
阅读 3 分钟
如何在 Python 中打印模式 在 Python 中,for 循环用于打印各种模式。打印各种模式是面试中最常见的编程问题。多个 for 循环用于打印模式,其中第一个外部循环用于...
阅读25分钟
严肃的软件开发需要性能优化。在优化应用程序性能时,我们无法回避性能分析器。性能分析器通过监控生产服务器或跟踪方法调用的频率和持续时间来进行全方位的分析。以下教程将介绍使用Python的基础知识...
阅读 17 分钟
一个简单的事实是,我们设备或系统的平台是系统性能的关键因素。我们将系统的操作系统 (OS)、我们正在执行某些操作的应用程序版本等称为平台...
阅读9分钟
引言:在本文中,我们将讨论 Python 前端框架。Python 处于意外的上升趋势。需求肯定会持续下去,短期内没有放缓的迹象。预计 Python 在未来几年内将超越 Java 和 C#。许多超现代的...
阅读 3 分钟
OpenWeatherMap 确实是一项为 Web 服务和移动应用程序的开发者提供天气信息的服务,包括当前天气信息、预报和历史数据。它提供有限的免费使用层以及具有 JSON、XML 和 HTML 端点的 API。用户可以...
阅读 3 分钟
数组是线性数据结构的集合,它在连续的内存空间中包含所有相同数据类型的元素。它就像一个容器,可以容纳一定数量的具有相同数据类型的元素。数组的索引从 0 开始,...
阅读 6 分钟
在此问题中,我们将有一个整数数组。特定数组索引处的每个整数指定我们可以从该索引跳跃的最大长度。我们必须找到到达数组最后一个索引所需的跳跃次数。
11 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India