# Tree('S', ['copy', Tree('List', [...]), to, Tree('Item', [...])]) t2 = Tree('S', [ 'copy', Tree('List', [ Tree('Item', ['f1']), Tree('List', [Tree('Item', ['f2']), Tree('List', [Tree('Item', ['f3'])])]) ]), 'to', Tree('Item', ['folder']) ]) print(t2) print(t2.flatten()) print(type(t2.flatten())) print(t2.collapse_unary()) max_subtree = Tree('', []) for subtree in t2.subtrees(filter=lambda x: x.label() == 'List'): if len(subtree.flatten().pos()) > len(max_subtree.pos()): max_subtree = subtree print(max_subtree) ''' tmp = t2 i = while tmp.label() != 'List': i += 1 tmp = tmp.pos() print("the " + str(i) + " time:") print(tmp) print(type(tmp))
# Tree('S', ['copy', Tree('List', [...]), to, Tree('Item', [...])]) t2 = Tree('S', [ 'copy', Tree('List', [ Tree('Item', ['f1']), Tree('List', [ Tree('Item', ['f2']), Tree('List', [Tree('Item', ['f3'])])])]), 'to', Tree('Item', ['folder'])]) print(t2) print(t2.flatten()) print(type(t2.flatten())) print(t2.collapse_unary()) max_subtree = Tree('', []) for subtree in t2.subtrees(filter = lambda x: x.label() == 'List'): if len(subtree.flatten().pos()) > len(max_subtree.pos()): max_subtree = subtree print(max_subtree) ''' tmp = t2 i = while tmp.label() != 'List': i += 1 tmp = tmp.pos() print("the " + str(i) + " time:")