递归函数、算法和生成式

发布时间:2022-06-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了递归函数、算法和生成式脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

递归函数

  递归指的是函数在运行过程中直接或间接的调用了自身。

  递归的特点有两个。

  1.递推:

    指一层层往下推导答案(每次的推导相较前一次难度有所下降)。

  2.回溯:

    依据最后的结论倒推出最初需要的答案。

  函数的递归一定要有结束条件,不然就会报错。

 

递归函数、算法和生成式

 

   

  为防止无限递归的情况,官网表示python默认的最大递归深度为1000次。(由于电脑性能等原因也可能是998、997次)

  可以通过sys方法来查看和设置最大递归深度

递归函数、算法和生成式

 

 

二分法

  算法指的是解决问题的高效方法。二分法属于入门级的算法。

  当想要在一堆的有序的数字中找到某个数字时,可以使用二分法来有效的达成目的。

  二分法的原理:

    找到这堆数字的中间的数,将它与要找的数进行大小的比较,如果较大,则在较大的一半中继续切分。

    如果较小则在较小的一半中切分,直到找到要找的数。

递归函数、算法和生成式

 

 

  二分法的缺陷:

    只能在有序的数据集中使用,并且如果要找的数就在开头,反而不如一个个数的笨办法有效。

 

三元表达式

  三元表达式是一种代码的简便写法,当功能需求只是二选一时推荐使用三元表达式。

  三元表达式格式:

    条件达成采用的值 if 需要达成的条件 else 条件不达成时采用的值

递归函数、算法和生成式

 

 

  三元表达式可以进行嵌套,但不推荐这种形式。

  因为使用这种形式是为了代码的简洁,进行嵌套反而违背了这种目的。

 

列表生成式

   列表生成式是一种简便的生成列表的语法,它的作用是快速的生成列表。

递归函数、算法和生成式

 

 

字典生成式

  如果想只通过一个列表就生成字典,可以借助enumerate方法(枚举)。

  enumerate的作用是返回两个值,一个是数字,相当于列表的索引,另一个是列表的元素。

  通过enumerate方法可以将索引值当做k值,元素当做v值来快速生成字典。

递归函数、算法和生成式

 

 

匿名函数

  匿名函数指的是没有函数名的函数。

  语法格式为:

    lambda 形参:返回值。

  由于没有名字,使用匿名函数需要连关键词一起写,单独使用时其实并不方便 ,所以一般和其他函数配合使用。

 

递归函数、算法和生成式

 

脚本宝典总结

以上是脚本宝典为你收集整理的递归函数、算法和生成式全部内容,希望文章能够帮你解决递归函数、算法和生成式所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: