【发布时间】:2020-03-24 20:52:55
【问题描述】:
似乎dict.pop() 可以区分用户指定的“默认”和真正的默认(省略)。
例如(实际结果):
my_dict.pop('non-exist-key', None)
my_dict.pop('non-exist-key')
#Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
#KeyError: 'non-exist-key'
我希望 dict.pop 有一个“默认”参数的默认值,否则我希望结果:
#Throw exception in caller rather than in callee(my_dict.pop)
my_dict.pop('non-exist-key')
#TypeError: my_dict.pop() missing 1 required positional argument: 'default'
【问题讨论】:
-
没有,这就是您收到错误的原因
-
您链接的文档确切地说,“如果没有给出默认值并且键不在字典中,则会引发 KeyError。”
-
@roganjosh 我相信有一个默认值,请参阅我的更新。
-
你为什么这么相信?
-
我意识到我自己并不理解它。 FWIW 它提示我问my own question。我删除了,因为我不能确定我给你的信息是正确的
标签: python