Python KeyError异常处理示例
时间:2020-02-23 14:42:52 来源:igfitidea点击:
1.什么是Python KeyError异常?
当我们尝试从dict访问一个不存在的密钥时,会引发Python KeyError。
它是内置的异常类之一,由许多可用于dict或者具有键值对的对象的模块引发。
2.带有字典的Python KeyError
让我们看一个简单的示例,其中程序引发KeyError。
emp_dict = {'Name': 'hyman', 'ID': 1} emp_id = emp_dict['ID'] print(emp_id) emp_role = emp_dict['Role'] print(emp_role)
输出:
1 Traceback (most recent call last): File "/Users/hyman/Documents/PycharmProjects/hello-world/theitroad/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': 'hyman', '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': 'hyman', '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}]')
5.Pandas 模块引发的KeyError
Pandas DataFrame中有一些函数会引发KeyError异常。
- rename()
- drop()