Удаление ключа и значения из OrderedDict

Я пытаюсь удалить ключ и значение из OrderedDict но когда я использую:

dictionary.popitem(key)

Он удаляет Последний ключ и значение, даже если поставляется другой ключ. Можно ли удалить ключ посередине, если словарь?

2 ответов


Да, вы можете использовать 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 используются для удаления элемента и вернуть удаленный элемент так что его можно сохранить на потом. Если вам не нужно сохранять его, то использование этих методов менее эффективно.


вы можете использовать pop, popitem удаляет последний по умолчанию:

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