有可能是一种简单的方法来删除Python中字典的属性,因为该属性可能不存在?
如果使用del
语句,则会导致KeyError:
a = {}
del a['foo']
>>>KeyError: 'foo'
使用if语句有点罗嗦,你必须输入'foo'
和a
两次:
a = {}
if 'foo' in a:
del a['foo']
如果该属性不存在,请查找与dict.get()
类似的内容,默认为None
值:
a = {}
a.get('foo') # Returns None, does not raise error
答案 0 :(得分: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}
>>>