美文网首页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) - 使用递归生成器,将任意多维列表转成

    如果将任意多维列表转成一维列表 思路 定义一个多维列表 定义一个生成器,将列表传入 使用递归方法进行多维列表的循环...

  • Python基础(43) - Python生成器的使用

    编写一个生成器,将二维列表转成一个一维列表 Python生成器的概念 生成器是一个函数 通过yied来返回值 生成...

  • 递归生成器

    python基础教程中(第2版 修订版)p155页有这样一段代码: 这是递归生成器的使用。其它递归生成器可参考 f...

  • 递归

    Python 3 : 1、使用递归实现倒计时 2、使用递归实现列表元素相加 3、使用递归计算列表包含的元素数 4、...

  • python 实现生成器的几种方式

    一、通过列表生成器来实现 和列表生成式使用相似,将两边的[]改成()即可创建生成器 使用时直接对生成器进行遍历即可...

  • python实现字符串的倒序(五种)

    一、使用python的特性,切片 二、 使用列表 三、使用循环 四、使用库collections 五、使用递归

  • 生成器、迭代器

    生成器、迭代器 标签(空格分隔): python 生成器generator 本着节约的原则,在使用列表元素时,按照...

  • Python入门基础二(高级特性)

    概述 所说高级特性包括切片、迭代、列表生成式、迭代器、生成器。 切片 Python学习一(基础)中列表和元组的基本...

  • 大家一起学python(10)

    分享几道python基础逻辑题 #通过递归函数实现任意数的阶乘 def jiecheng(num): if num...

  • python3 列表生成式,生成器generator和yield

    列表生成式,生成器,yield 概述 python中我们一定会用到列表。 有些有规律的列表我们可以使用列表生成式来...

网友评论

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

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