Проблема остается актуальной!
Может я изначально что-то не так делаю. (как раз к вопросу
Откуда такой формат данных берётся?
)
Предыстория ))
Имеется множество похожих списков (с иерархией)
СПИСОК 1:
Запчасти кузова
-Детали кузова перед / крыло / буфер
--Продольная / поперечная балка
--Колесная ниша
--Накладки порога / двери
-Крышки багажника / капоты / двери / складная крыша
--Двери / составляющие
---Ручка двери
Запчасти двигателя
-Газораспределительный механизм
--Ремень ГРМ / натяжение ремня
---Ремень ГРМ
---Комплект ремней ГРМ
--Цепь привода распредвала / натяжение
---Планка успокоителя
СПИСОК 2:
Запчасти кузова
-Детали кузова перед / крыло / буфер
--Колесная ниша
-Детали кузова зад / крыло / буфер
--Колесная ниша
-Крышки багажника / капоты / двери / складная крыша
--Двери / составляющие
---Стекло двери
--Крыша / составляющие
---Стекло двери
Запчасти двигателя
-Газораспределительный механизм
–Ремень ГРМ / натяжение ремня
—Ремень ГРМ
—Комплект ремней ГРМ
–Цепь привода распредвала / натяжение
—Планка успокоителя
И т.д.
Списков очень много, они похожи
НО уровень вложенности и некоторые пункты могут отличатся.
На выходе мне нужно получить один
ОБЩИЙ список всех пунктов, и при этом соблюсти вложенность.
на выходе должно получится:
Запчасти кузова
-Детали кузова / крыло / буфер
--Продольная / поперечная балка
--Колесная ниша
--Накладки порога / двери
-Детали кузова зад / крыло / буфер
--Колесная ниша
-Крышки багажника / капоты / двери / складная крыша
--Двери / составляющие
---Ручка двери
---Стекло двери
--Крыша / составляющие
---Стекло двери
Запчасти двигателя
-Газораспределительный механизм
--Ремень ГРМ / натяжение ремня
---Ремень ГРМ
---Комплект ремней ГРМ
--Цепь привода распредвала / натяжение
---Планка успокоителя
Посоветуйте правильный алгоритм, пожалуйста. К какому виду может привести эти списки, чтобы было удобнее с ними работать и исключить ошибки…