У меня есть вложенный словарь (категория и подкатегории), dict
, что у меня проблема с сортировкой.Заказ вложенного словаря в python
Выход dict
является:
{u'sports': {u'basketball': {'name': u'Basketball', 'slug': u'basketball'}, u'baseball': {'name': u'Baseball', 'slug': u'baseball'}}, u'dance': {u'salsa': {'name': u'Salsa', 'slug': u'salsa'}}, u'arts': {u'other-5': {'name': u'Other', 'slug': u'other-5'}, u'painting': {'name': u'Painting', 'slug': u'painting'}}, u'music': {u'cello': {'name': u'Cello', 'slug': u'cello'}, u'accordion': {'name': u'Accordion', 'slug': u'accordion'}}}
Как я могу отсортировать этот словарь, так что «другая» подкатегория всегда появляется в конце гнездового словаря. Например, заказ категории «искусство» должен быть следующим:
..., u'arts': {u'painting': {'name': u'Painting', 'slug': u'painting'}, u'other-5': {'name': u'Other', 'slug': u'other-5'}}...
Возможно, вам пригодится [OrderedDict] (https://docs.python.org/2/library/collections.html#ordereddict-objects) – Greg
Есть ли какая-то конкретная причина, по которой вы хотите упорядочить категории? Python 'dict's по своей сути неупорядочен, но есть' OrderedDict', который запоминает порядок добавления ключей. –