删除密钥的值并保留密钥

时间:2015-10-05 17:31:18

标签: python dictionary

我想删除密钥的值,但要将密钥保存在我的字典中。 使用dict.pop键将被删除,我需要dict中的键。 我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您无法删除该值并保留该密钥。 最好您可以将值设置为哨兵,例如None

d = {'foo': 42, 'bar': 81}
d['foo'] = None

None仍然是一个价值,但在您的计划中,您可以将其视为“无价值”。如果这符合您的用例。

然后你可以测试哨兵:

if d[key] is None:
    # 'no value' case

如果None是有效值,请选择不同的单一标记值:

_sentinel = object()
d['foo'] = _sentinel

if d[key] is _sentinel:
    # 'no value' case

如果您将列表视为值,请清除列表。空列表对象仍然是值

d = {'foo': [1, 2, 3], 'bar': ['spam', 'eggs']}
d['foo'] = []     # assign new, empty list
del d['bar'][:]   # empty list in-place

答案 1 :(得分:0)

请尝试以下代码:

dict[key].remove(value)