Список вложенных словарей сортировки Python

Я пытаюсь отсортировать вложенный словарь в Python.

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

Я пытался возиться с отсортированным API, но у меня все еще были проблемы.

Прямо сейчас у меня есть:

myDict = {'A': {'Key3':4,'Key2':3,'Key4':2,'Key1':1},
          'B': {'Key4':1,'Key3':2,'Key2':3,'Key1':4},
          'C': {'Key1':4,'Key2':2,'Key4':1,'Key3':3}};

Но я бы хотел:

myDict = {'A': {'Key1':1,'Key2':3,'Key3':4,'Key4':2},
          'B': {'Key1':4,'Key2':3,'Key2':1,'Key4':1},
          'C': {'Key1':4,'Key2':2,'Key3':3,'Key4':1}};

Я ценю помощь!


person Mike Hatcher    schedule 09.09.2016    source источник
comment
диктовки неупорядочены. как и комментарий выше, посмотрите здесь OrderedDict подробнее: stackoverflow.com/questions/526125/   -  person GMarsh    schedule 09.09.2016
comment
Зачем вам сортировать словари?   -  person wwii    schedule 09.09.2016
comment
# python3.6 news: OrderedDict мертв. Да здравствуют приказы, которые заказаны. Обычные словари упорядочены и более компактны: bugs.python.org/issue27350   -  person Paul Rooney    schedule 09.09.2016


Ответы (1)


person    schedule
comment
Я вынужден использовать OrderedDict? Я думал, что могу перебирать ключи myDict и каким-то образом упорядочивать внутренний словарь, используя что-то вроде sorted (myDict [k] .items (), key = lambda x: x [0], reverse = False); - person Mike Hatcher; 09.09.2016
comment
Словари @MikeHatcher представляют собой неупорядоченные коллекции. Если вы примените sorted к словарю, как вы сказали, он вернет массив отсортированных кортежей. Как только вы вызовете dict(sorted(..)) в массиве, чтобы преобразовать его в dict, он снова станет неупорядоченным. Таким образом, вы должны использовать OrderedDict. - person ozgur; 09.09.2016
comment
А, ладно, думаю, мне придется сгенерировать его по-другому, чем раньше, так что я могу печатать в том порядке, в котором я хочу. - person Mike Hatcher; 09.09.2016