python生成器

生成器简介:廖学锋网址

递归生成器:对于不知道输入文件的嵌套层数时,可以使用递归生成器来循环迭代(当nested是字符串时,可以通过将nested与一个字符串拼接,看看会不会出现TypeError来判断是否是字符串)

def flatten(nested):
    try: # 不要迭代类似字符串的对象
        try: nested + '' # 通过与字符串拼接判断是否是字符串
        except TypeError: pass
        else: raise TypeError
        for sublist in nested:
            for element in flatten(sublist):
                yield element
    except TypeError:
        yield nested




你可能感兴趣的:(python,生成器)