Мой класс унаследован от OrderedDict, и я хочу повторно инициализировать словарь. Но упрощенный код ниже изменяет только значения ключей - порядок элементов остается тем же:Упорядоченная реинициализация: заказ потерян
from collections import OrderedDict
class Example(OrderedDict):
def __init__(self,d):
OrderedDict.__init__(self,d)
#something that should be done only once - at instance creation
def reinit(self,d):
OrderedDict.__init__(self,d)
d=Example([(1,1),(2,2)])
d.reinit([(2,20),(1,10)])
print(d) #Example([(1, 10), (2, 20)])
Таким образом, вопрос: что происходит внутри OrderedDict.__init__
здесь и он должен работать таким образом?