美文网首页Python
Python基础(44) - 使用递归生成器,将任意多维列表转成

Python基础(44) - 使用递归生成器,将任意多维列表转成

作者: xianling_he | 来源:发表于2020-03-13 23:20 被阅读0次

    如果将任意多维列表转成一维列表

    • 思路
    1. 定义一个多维列表
    2. 定义一个生成器,将列表传入
    3. 使用递归方法进行多维列表的循环,如果是列表就单个字符输出,如果是单个字符,就单个输出字符即可

    代码如下:

    nestedlist = [3,4,[2,3,4],[[2,4,5],[56,7]],[[1,2,3,4],[12,4],[3,5,7],[2,4,6]]]
    
    print(nestedlist)
    
    def enumlist(nestedlist):
        try:
            for sublist in nestedlist:
                for ele in enumlist(sublist):
                    yield ele
        except TypeError:
            yield nestedlist
    
    
    for num in enumlist(nestedlist):
        print(num,end='   ')
    
    hexianling.png

    总结

    递归生成器的编写方法与递归函数类似,只需要处理元素值的时候需要使用yield 关键字

    加油 2020-3-13

    相关文章

      网友评论

        本文标题:Python基础(44) - 使用递归生成器,将任意多维列表转成

        本文链接:https://www.haomeiwen.com/subject/xfbijhtx.html