python - From list to tree representation -
hello have list (in python 3) :
lista=[ ['a','b','c','d'],['b','f','g'],['c','h','i'],['d'],['h'],['i'],['f'],['g']] and i'm trying translate in nested list this
['a',['b',['f'],['g']],['c',['h'],['i']],['d']]] so it's tree :
/ | \ b c d /\ /\ f g h i thought use generator this
listb = [ lista[0][0]] + [x x in lista[1:] ] but don't know how iterate recursively through whole list. thank you!
i think should work you:
lista=[ ['a','b','c','d'],['b','f','g'],['c','h','i'],['d'],['h'],['i'],['f'],['g']] def tree(root, d): return [root] + [tree(k, d) k in d[root]] d = {i[0]: i[1:] in lista} root = 'a' print(tree(root, d)) which prints out:
['a', ['b', ['f'], ['g']], ['c', ['h'], ['i']], ['d']] although believe dictionary (d) might serve better.
Comments
Post a Comment