删除Python中可能存在或不存在的字典属性

时间:2014-06-30 20:38:12

标签: python dictionary

有可能是一种简单的方法来删除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

1 个答案:

答案 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}
>>>