有没有一种简单的方法可以在Python中删除字典属性时可能不存在该属性?
如果使用该del语句,则结果是KeyError:
a = {}
del a['foo']
>>>KeyError: 'foo'
Run Code Online (Sandbox Code Playgroud)
它有点罗嗦使用if语句,你必须输入'foo'和a两次:
a = {}
if 'foo' in a:
del a['foo']
Run Code Online (Sandbox Code Playgroud)
如果属性不存在,则寻找类似于dict.get()默认值的None值:
a = {}
a.get('foo') # Returns None, does not raise error
Run Code Online (Sandbox Code Playgroud)
iCo*_*dez 10
您可以使用dict.pop,它允许您指定在密钥不存在时返回的默认值:
>>> d = {1:1, 2:2}
>>> d.pop(1, None)
1
>>> d
{2: 2}
>>> d.pop(3, None) # No error is thrown
>>> d
{2: 2}
>>>
Run Code Online (Sandbox Code Playgroud)