Python KeyError异常处理示例

Python中的KeyError异常是什么?

当我们尝试从字典中访问不存在的键时,Python会引发KeyError。这是一种内置的异常类,由许多与字典或具有键值对的对象一起工作的模块引发。

2. Python字典中的键错误。

让我们看一个简单的例子,程序会引发KeyError错误。

emp_dict = {'Name': 'Pankaj', 'ID': 1}

emp_id = emp_dict['ID']
print(emp_id)

emp_role = emp_dict['Role']
print(emp_role)

输出:(paraphrase in Chinese)

1
Traceback (most recent call last):
  File "/Users/scdev/Documents/PycharmProjects/hello-world/scdev/errors/keyerror_examples.py", line 6, in <module>
    emp_role = emp_dict['Role']
KeyError: 'Role'

3. 处理 Python 的KeyError 异常

我们可以使用try-except块处理KeyError异常。让我们处理上述的KeyError异常。

emp_dict = {'Name': 'Pankaj', 'ID': 1}

try:
    emp_id = emp_dict['ID']
    print(emp_id)

    emp_role = emp_dict['Role']
    print(emp_role)
except KeyError as ke:
    print('Key Not Found in Employee Dictionary:', ke)

输出:

1
Key Not Found in Employee Dictionary: 'Role'

4. 在访问字典键时避免出现 KeyError

我们可以通过使用get()函数来访问键值,从而避免KeyError。如果键丢失,将返回None。我们也可以在键丢失时指定一个默认值来返回。

emp_dict = {'Name': 'Pankaj', 'ID': 1}

emp_id = emp_dict.get('ID')
emp_role = emp_dict.get('Role')
emp_salary = emp_dict.get('Salary', 0)

print(f'Employee[ID:{emp_id}, Role:{emp_role}, Salary:{emp_salary}]')

员工[ID:1,角色:无,薪水:0] 的输出。

5. Pandas模块引发的KeyError

在 Pandas DataFrame 中有一些函数会引发 KeyError 异常。

  • rename()
  • drop()

6. 参考文献

  • Python Exception Handling – Python try except
  • KeyError Wiki Page
发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds