Python KeyError -- 常用解决办法
当访问不在dict中的键时会引发KeyError错误
解决办法:
1. 使用之前先判断key是否存在,然后才进行下一步操作,如:
t = { 'a': '1', 'b': '2', 'c': '3', } if 'd' in t: print(t['d']) else: print('not exist')
2. 使用dict
内置的get(key[,default])
方法,如果key
存在,则返回其value,
否则返回default,使用这个方法永远不会触发KeyError:
KeyError:
t = { 'a': '1', 'b': '2', 'c': '3', } print(t.get('d')) 结果: None
设定default
参数:
t = { 'a': '1', 'b': '2', 'c': '3', } print(t.get('d', 'not exist')) print(t) 结果: not exist {'a': '1', 'c': '3', 'b': '2'}
3. 利用dict
内置的setdefault(key[,default])
方法,如果key
存在,则返回其value;
否则插入此key
,其value
为,并返回default
;使用这个方法也永远不会触发KeyError
,如:
t = { 'a': '1', 'b': '2', 'c': '3', } print(t.setdefault('d')) print(t) 结果: None {'b': '2', 'd': None, 'a': '1', 'c': '3'}
设定default
参数:
t = { 'a': '1', 'b': '2', 'c': '3', } print(t.setdefault('d', 'not exist')) print(t) 结果: not exist {'c': '3', 'd': 'not exist', 'a': '1', 'b': '2'}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!