flatten generator rewritten as a plain function : yield « Statement « Python Tutorial






def flatten(nested):
    result = []
    try:
        try: nested + ''
        except TypeError: pass
        else: raise TypeError
        for sublist in nested:
            for element in flatten(sublist):
                result.append(element)
    except TypeError:
        result.append(nested)
    return result








3.16.yield
3.16.1.Making a Generator
3.16.2.A Recursive Generator
3.16.3.Making It Safer
3.16.4.flatten generator rewritten as a plain function
3.16.5.Fibonacci sequences using generators
3.16.6.Cross-Product Pairs Example
3.16.7.Simple Generator Features
3.16.8.Manually iterating through a generator (or an iterator for that matter):