在Python中删除可能存在或不存在的字典属性[重复]
Posted
技术标签:
【中文标题】在Python中删除可能存在或不存在的字典属性[重复]【英文标题】:Delete a property of a dictionary in Python that may or may not be present [duplicate] 【发布时间】:2014-08-21 07:43:28 【问题描述】:当属性可能一开始不存在时,是否有一种简单的方法可以在 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】:你可以使用dict.pop
,它允许你指定一个默认值,如果key不存在则返回:
>>> d = 1:1, 2:2
>>> d.pop(1, None)
1
>>> d
2: 2
>>> d.pop(3, None) # No error is thrown
>>> d
2: 2
>>>
【讨论】:
以上是关于在Python中删除可能存在或不存在的字典属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章