已解决(Python读取字典查询键报错)KeyError: ‘d‘

已解决(Python读取字典查询键报错)KeyError: ‘d‘






文章目录

  • 报错代码
  • 报错翻译
  • 报错原因
  • 解决方法
  • 帮忙解决






报错代码



粉丝群里面的一个小伙伴想用python读取字典内的值,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:

dict = {'a': 1, 'b': 2, 'c': 3}

print(dict['d'])


报错信息截图如下:


已解决(Python读取字典查询键报错)KeyError: ‘d‘_第1张图片







报错翻译



报错信息翻译


键错误:d





报错原因



报错原因


字典中只有a、b、c键,但是粉丝却想取d键,找不到就报错了。KeyError:在读取字典中的key和value时,如果key不存在,就会触发KeyError错误。


解决方法



第一种解决方法:如:修改要输出的值为a或b或c(字典中已有键)

dict = {'a': 1, 'b': 2, 'c': 3}

print(dict['a'])
print(dict['b'])
print(dict['c'])

运行结果:

1
2
3

第二种解决方法:首先测试key是否存在,然后才进行下一步操作

dict = {'a': 1, 'b': 2, 'c': 3}

print(dict.keys())
if 'd' in list(dict.keys()):
    print(dict['d'])
else:
    print('所查键不在字典中')

运行结果:

dict_keys(['a', 'b', 'c'])
所查键不在字典中

第三种解决方法:利用字典的dict.get(key, default)方法,对于要查找的key,给定一个缺省值,若是在字典中找到了,则返回字典中的value,否则返回缺省值。


dict = {'a': 1, 'b': 2, 'c': 3}

print(dict.get("d", "4"))
print(dict.get("e", "5"))

运行结果:

4
5

帮忙解决

本文已收录于:《告别Bug》专栏

本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!

你可能感兴趣的:(《告别Bug》,python,开发语言)