У меня есть список dicts, который выглядит примерно так:Построение списка с родитель-ребенок зависимости
list = [{'parent': u'#5963','id': 5962},{'parent': u'','id': 5963},
{'parent': u'#5963', 'id': 5964}, {'parent': u'#5966', 'id': 5967},
{'parent': u'#5963','id': 5966}, {'parent': u'#5962','id': 5968} ]
Фактические dicts немного сложнее - у них есть несколько ключей и значений.
Как вы можете видеть - каждый dict имеет «родительский» ключ, который сообщает нам идентификатор родительского элемента и ключ «id».
Теперь вопрос заключается в следующем: возможно ли создать новый список (или отсортировать его) таким образом, чтобы все dicts помещались в родительско-дочерний путь?
Таким образом, новый ДИКТ будет:
[{'parent': u'','id': 5963},{'parent': u'#5963','id': 5962},
{'parent': u'#5962','id': 5968}, {'parent': u'#5963', 'id': 5964},
{'parent': u'#5963','id': 5966}, {'parent': u'#5966', 'id': 5967} ]
PS: Там может быть не корневые элементы (элементы с ключом «родительского» = «»)
PPS: Родительский элемент не могут иметь более 1-2 уровней детей
Я не понимаю. Что значит «родитель-ребенок»? Или другой вопрос: что вы пытаетесь выполнить? Я уверен, вы можете использовать дерево, чтобы избавиться от этих проблем ... – tamasgal
Я получаю первый список в результате SQL-запроса. Затем он передается шаблону для построения таблицы. Шаблон использует элементы списка для создания строк таблицы. Теперь мне нужно - переупорядочить этот список так, чтобы итоговая таблица имела иерархию, таким образом, родительский путь. – konart