import itertools


def tree_to_list(tree):
    """
        Concatenate a tree into a list using a pre-order traversal.

        :param tree: a tree.
        :return a list of values of the tree
    """
    return [tree.value] + list(itertools.chain.from_iterable(map(tree_to_list, tree.children)))