Help with searching a list

Jeff Epler jepler at unpythonic.net
Wed Nov 13 16:47:42 EST 2002


# Replace this with a more sophisticated test if you prefer
def flattenable(o): return type(o) == list

def flatten(x, b = None):
    if b is None: b = []
    for i in x:
        if flattenable(i):
            flatten(i, b)
        else:
            b.append(i)
    return b

def flatten_generator(x):
    for i in x:
        if flattenable(i):
            for j in flatten(i): yield j
        else:
            yield i

Jeff




More information about the Python-list mailing list