Python递归生成器

学习python时,碰到一个生成器的概念,有点意思,其实很简单,基本上就是两种策略:

  • 把列表生成式中的中括号改为小括号就好了:
  • 第二种方法,就是在return的时候,用yield来把函数变成生成器

并不难,可以直接参考廖大的教程。

这里主要想说的是一个程序,from python基础教程:

def yield_test(nested):
    try:
        for sublist in nested:
            for element in yield_test(sublist):
                # pass
                yield element
    except TypeError:
        yield nested

print yield_test([[1,2],[3,4],5])
for i in yield_test([1,2]):
    print i,

在程序中设置了断点,单步调试,很快就蒙蔽了,可以看出写东西,但是跟踪起来很费劲,肯定是可以出结果的。
重点在于对递归的理解,理解了递归,也就理解了程序,该程序理解了,基本也就可以告别python基本语法了,可以开始库的学习了,重要的点有三项:

  • 错误与捕获

  • yield

  • 递归的思想

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值