关于python:从ordereddict中删除键和值

Delete a key and value from an OrderedDict

我试图从OrderedDict中删除键和值,但当我使用:

1
dictionary.popitem(key)

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


是的,您可以使用del

1
del dct[key]

下面是一个演示:

1
2
3
4
5
6
7
8
9
10
11
>>> 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用于删除项目并返回删除的项目,以便以后保存。但是,如果您不需要保存它,那么使用这些方法的效率会降低。


可以使用pop,默认情况下,popitem会删除最后一个:

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