使用pop方法删除字典中不存在的键值对时,会出现什么情况?

在python中, 如果所删除的键值不存在,程序会报错,但这不是绝对的, 正确合理的使用pop方法可以避免报错, 先通过一个例子来了解字典的pop方法

stu = {
    'name': '丽丽',
    'age': 18
}

print(stu.pop('name'))

pop方法会返回key所对应的value, 当key不存在时,程序会报错

print(stu.pop('score'))

报错内容是

Traceback (most recent call last):
  File "/Users/kwsy/kwsy/coolpython/demo.py", line 6, in <module>
    print(stu.pop('score'))
KeyError: 'score'

'score' 这个key不存在于字典中,因此删除会出错,但文章开头已经讲过,这并不是绝对的,原因在于pop方法还有第二个参数

print(stu.pop('score', 100))

第二个参数是默认返回值,当key不存在时,pop方法会返回这个默认值,这是一种相对安全的做法

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案