• python全栈脱产第12天------函数的递归、三元表达式、列表生成式、字典生成式、匿名函数


    一、函数递归

      定义:函数的递归调用是函数嵌套调用的一种特殊形式,在调用一个函数的过程中又直接或是间接地调用该函数本身,称之为函数的递归调用

      递归调用的两个阶段:1.回溯:一次次递归下去,需要注意每一次重复问题的规模都应该有所减少,直到逼近一个最终的结果,即需要一个结束的条件

                2.递推:往回一层一层推算出结果

      算法:高效地解决某一个问题的方法/套路

        二分法:在一个从大到小或是从小到大排列的一个列表中找一个数,每次都与列表的中间的那个值作比较,然后截取可能存在需要寻找值的一边列表继续寻找,直到找到。

    二、三元表达式

      在条件成立的情况下返回一个值,不成立的情况下返回另一个值,if......else......

    三、列表生成式

      用途:列表添加减少值

      names=['alex','lqz','yyh','fm']

      l=[]

      for name in names:

        res=name+'DSB'

        l.append(res)  #l=[name+'DSB' for name in names]

    四、字典生成式

      用途:用于两个列表组合成一个字典,其中一个列表变为key值,一个变为value

      keys=['name','sex','age']

      values=['egon','male','18']

      dic={}

      for i,k in enumerate(keys):

        dic[k]=values[i]  #dic={k:values for i,k in enumerate(keys)}

    五、匿名函数

      定义:就是没有名字的函数

      用途:用于仅仅一次使用的场景,没有重复使用过的必要

      精髓:没有名字,绑定名字是没有意义的

      用法:与内置函数一起使用,在语句前面加lambda

      max、min、sum:都是用for循环来实现,返回一个结果当做依据

      方法:sorted:排序,从小打到排序,末尾加上reverse=True

         map:把一个列表按照我们自定义的映射规则映射成个新的列表

         filter:从一个列表中过滤出符合我们过滤规则的值

           原理:相当于for循环取出没一个人名,然后传值给匿名函数,将调用匿名函数返回值为True的那个值留下来

         reduce:把多个值合并成一个值

        

  • 相关阅读:
    win10下vs2015配置Opencv3.1.0过程详解
    Int16, Int32, Int64 范围
    Microsoft Language and Locale Codes(微软语言和地区代码汇总)
    Azure china服务状态报告查看网址
    Azure IOT (EventHub + Stream Analytics + Table Storage)的使用
    java 继承extends 的相关知识点
    final
    java 垃圾回收机制
    Java 抽象类
    重载与重写、多态——java
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9432677.html
Copyright © 2020-2023  润新知