J'essaie de supprimer une clé et une valeur d'un OrderedDict
mais quand j'utilise:
dictionary.popitem(key)
il supprime la dernière clé et la dernière valeur même lorsqu'une clé différente est fournie. Est-il possible de supprimer une clé au milieu si le dictionnaire?
Oui, vous pouvez utiliser del
:
del dct[key]
Voici une démonstration:
>>> 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)])
>>>
En fait, vous devez toujours utiliser del
pour supprimer un élément d'un dictionnaire. dict.pop
et dict.popitem
sont utilisés pour supprimer un élément et renvoyer l'élément supprimé afin qu'il puisse être enregistré pour plus tard. Si vous n'avez cependant pas besoin de l'enregistrer, l'utilisation de ces méthodes est moins efficace.
Vous pouvez utiliser pop, popitem supprime le dernier par défaut:
d = OrderedDict([(1,2),(3,4)])
d.pop(your_key)