Python: вывод иерархии предметов из веток - PullRequest
0 голосов
/ 30 августа 2018

Описание
Мы загрузили набор данных для нашего исследования, который содержит иерархические данные. Однако создатели не были последовательны на всех. Например, иногда у нас есть что-то вроде:

term1:term2:term3:term4

мы в других случаях имеем:

term4

Пример данных
В качестве примера давайте рассмотрим этот набор данных:

data = [['root','test','coffee'],
        ['root', 'test', 'gains'],
        ['root','gains', 'coffee'],
        ['root','milk','bread']]

Теперь я хочу написать код для расшифровки полной иерархии (или, по крайней мере, настолько хорошо, насколько это возможно) на основе этих данных и просто распечатать ветви до конечных точек:

root:test:gains:coffee
root:milk:bread

Я почти уверен, что для этого есть довольно простой трюк, но я еще не нашел, попробовал:

  • Начиная с самой длинной ветви (в данном случае это не имеет значения), а затем добавляя новые ветви, когда я сталкиваюсь с терминами, которые не могут поместиться в начальной ветви.
...