从OrderedDict中删除键和值

时间:2014-11-26 17:53:16

标签: python dictionary ordereddictionary

我正在尝试从OrderedDict中移除键和值,但是当我使用时:

dictionary.popitem(key)

即使提供了不同的密钥,它也会删除最后一个密钥和值。如果字典可以删除中间的键吗?

2 个答案:

答案 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.popdict.popitem用于删除项目并返回已删除的项目,以便以后保存。但是,如果您不需要保存它,那么使用这些方法效率会降低。

答案 1 :(得分:5)

你可以使用pop,popitem默认删除最后一个:

d = OrderedDict([(1,2),(3,4)])
d.pop(your_key)