我想删除密钥的值,但要将密钥保存在我的字典中。
使用dict.pop
键将被删除,我需要dict中的键。
我怎么能这样做?
答案 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)