На входе есть файл:
'''
foo
foo foo1
foo foo1 foo2 # foo is parent for foo1 and foo1 is parent for foo2 etc.
bar
bar bar1
bar bar1 bar2
doo
'''
Необходимо преобразовать файл в словарь типа
{
[foo1:foo] #foo is parent of foo1
[foo2:foo] #foo is parent of foo2 too
[foo2:foo1]
[bar1: bar]
[bar2: bar]
[bar2: bar1]
...
}
Так же есть массив, который может содержать одну или все значения как в словаре.
Значения в масиве и словаре надо сравнить так, что бы если имеется родитель среди переменных в массиве, то дочернее удалить, а родителя положить в новый массив.
Например: в массиве приходит foo2, foo, bar2
В этом случае нам надо foo2 отбросить, а foo переложить в новый массив так как foo2 имеет родителя в лице foo1, а foo1 является дочерним для foo. Так же переложить bar2 в новый массив так как у него нет родителей в исходном массиве.
'''
foo
foo foo1
foo foo1 foo2 # foo is parent for foo1 and foo1 is parent for foo2 etc.
bar
bar bar1
bar bar1 bar2
doo
'''
Необходимо преобразовать файл в словарь типа
{
[foo1:foo] #foo is parent of foo1
[foo2:foo] #foo is parent of foo2 too
[foo2:foo1]
[bar1: bar]
[bar2: bar]
[bar2: bar1]
...
}
Так же есть массив, который может содержать одну или все значения как в словаре.
Значения в масиве и словаре надо сравнить так, что бы если имеется родитель среди переменных в массиве, то дочернее удалить, а родителя положить в новый массив.
Например: в массиве приходит foo2, foo, bar2
В этом случае нам надо foo2 отбросить, а foo переложить в новый массив так как foo2 имеет родителя в лице foo1, а foo1 является дочерним для foo. Так же переложить bar2 в новый массив так как у него нет родителей в исходном массиве.