OrderedDict
からキーと値を削除しようとしていますが、使用する場合:
dictionary.popitem(key)
別のキーが指定されている場合でも、最後のキーと値が削除されます。辞書がある場合、途中でキーを削除することは可能ですか?
はい、使用できます 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)