python flatten sequences,flattensequences,A simple met


A simple method to flatten a sequence (list, tuple...)

def flatten(list):    """Flatten a list of elements into a unique list    Author: Christophe Simonis    Examples:    >>> flatten(['a'])    ['a']    >>> flatten('b')    ['b']    >>> flatten( [] )    []    >>> flatten( [[], [[]]] )    []    >>> flatten( [[['a','b'], 'c'], 'd', ['e', [], 'f']] )    ['a', 'b', 'c', 'd', 'e', 'f']    >>> t = (1,2,(3,), [4, 5, [6, [7], (8, 9), ([10, 11, (12, 13)]), [14, [], (15,)], []]])    >>> flatten(t)    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]    """    def isiterable(x):        return hasattr(x, "__iter__")    r = []    for e in list:        if isiterable(e):            map(r.append, flatten(e))        else:            r.append(e)    return rif __name__ == '__main__':    import doctest    doctest.testmod()

评论关闭