ordereddict dict python sorting nested ordereddictionary

ordereddict python 3



Cómo ordenar OrderedDict of OrderedDict-Python (3)

Estoy tratando de ordenar OrderedDict en OrderedDict por la tecla ''profundidad'' . ¿Hay alguna solución para ordenar ese diccionario?

OrderedDict([ (2, OrderedDict([ (''depth'', 0), (''height'', 51), (''width'', 51), (''id'', 100) ])), (1, OrderedDict([ (''depth'', 2), (''height'', 51), (''width'', 51), (''id'', 55) ])), (0, OrderedDict([ (''depth'', 1), (''height'', 51), (''width'', 51), (''id'', 48) ])), ])

El dictado ordenado debería verse así:

OrderedDict([ (2, OrderedDict([ (''depth'', 0), (''height'', 51), (''width'', 51), (''id'', 100) ])), (0, OrderedDict([ (''depth'', 1), (''height'', 51), (''width'', 51), (''id'', 48) ])), (1, OrderedDict([ (''depth'', 2), (''height'', 51), (''width'', 51), (''id'', 55) ])), ])

alguna idea de cómo conseguirlo?


A veces es posible que desee conservar el diccionario inicial y no crear uno nuevo.

En ese caso, podrías hacer lo siguiente:

temp = sorted(list(foo.items()), key=lambda x: x[1][''depth'']) foo.clear() foo.update(temp)



>>> OrderedDict(sorted(od.items(), key=lambda item: item[1][''depth'']))