Python

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

2020-03-13  本文已影响0人  xianling_he

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

  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

上一篇下一篇

猜你喜欢

热点阅读