python: как добавить пару ключ-значение в начало вложенного словаря? - PullRequest
1 голос
/ 28 апреля 2020

мне нужно добавить в начало вложенного словаря. похоже, что move_to_end () - это самый простой способ для нас sh выполнить это, но кажется, что я не могу использовать это во вложенном словаре.

dict = OrderedDict({
  'abdomen' : {"liver":3 , "spleen":1},
  })
dict['abdomen'].update({'stomach':'2'}) 
dict['abdomen'].move_to_end('stomach', last = False)
print(dict['abdomen'])

генерирует ошибку: Traceback (последний вызов последний ): Файл «test.py», строка 232, в dict ['abdomen']. Move_to_end ('gast', last = False) AttributeError: у объекта 'dict' нет атрибута 'move_to_end'

1 Ответ

1 голос
/ 28 апреля 2020

Внутренний словарь должен быть OrderedDict. Измените следующее:

my_dict = OrderedDict({
    'abdomen': OrderedDict({"liver": 3, "spleen": 1}),
})

Примечание. Использование встроенных имен (например, dict) - плохая идея. Измените dict на что-то подходящее.

...