我正在尝试从OrderedDict
中移除键和值,但是当我使用时:
dictionary.popitem(key)
即使提供了不同的密钥,它也会删除最后一个密钥和值。如果字典可以删除中间的键吗?
答案 0 :(得分:35)
是的,您可以使用del
:
del dct[key]
以下是演示:
>>> from collections import OrderedDict
>>> dct = OrderedDict()
>>> dct['a'] = 1
>>> dct['b'] = 2
>>> dct['c'] = 3
>>> dct
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> del dct['b']
>>> dct
OrderedDict([('a', 1), ('c', 3)])
>>>
实际上,您应该始终使用del
从字典中删除项目。 dict.pop
和dict.popitem
用于删除项目并返回已删除的项目,以便以后保存。但是,如果您不需要保存它,那么使用这些方法效率会降低。
答案 1 :(得分:5)
你可以使用pop,popitem默认删除最后一个:
d = OrderedDict([(1,2),(3,4)])
d.pop(your_key)