zoukankan      html  css  js  c++  java
  • python 函数“四剑客”的使用和介绍

    python函数四剑客:lambda、map、filter和reduce。

    一、lambda(匿名函数)

      1.  学习lambda要注意一下几点:

    • lambda语句被用来创建新的函数对象,并且在运行的时候返回他们;
    • python使用lambda关键字来创建匿名函数,这种函数的命名省去了def声明函数的标准步骤;
    • lambda只是一个表达式,函数体比def简单的多;
    • lambda的主体是一个表达式,而不是一个代码块,只能用有限的逻辑封装进来;
    • 像if、for、while等语句不能用于lambda中;
    • lambda函数不能共享给其他的函数调用,而def却可以;
    • lambda拥有自己的名字空间,且不能访问自由参数列表之外全局名字空间里的参数;

      2.  语法结构:  lambda [arg1 [,arg2,.....argn]]:expression

      3.     例子:用lambda实现两个元素相加或拼接,如下:

         

         上述例子同样可以用函数来实现,具体实现方法如下:

         

    二、map函数

      1.  map函数使用方法:将每个字符串或者列表元素,应用某一个函数方法,返回结果列表;当seq只有一个时,将函数func作用于这个seq的每个元素上,并得到一新的seq。 

      2.  语法结构:map(function, sequence[, sequence, ...]) -> list

      3.  应用举例:单一seq

         

      4.  应用举例二:求两个数的和或拼接的结果

        

        

       5.  应用举例三:map不会处理长度不一致或类型不一致的seq

        

        

    三、filter函数

      1.  使用方法:该函数可以对序列做过滤,就是说可以使用一个自定义的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果过滤,最终返回过滤的结果。

      2.  语法结构:filter(function or None, sequence) -> list, tuple, or string

      3.  应用举例:

         

    四、reduce函数

      1.  使用方法:reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一
    个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。

      2.  语法结构:reduce(function, sequence[, initial]) -> value

      3.  应用举例:

         

      4.  应用举例二:实现1-100的所有数之和

        

         

        

    
    
  • 相关阅读:
    Aop——面向切面编程
    认识界上最流行的Api框架——swagger
    手把手SSM框架实战
    面试题
    重新拾起JavaSE的日子
    使用IntelliJ IDEA创建第一个Maven项目
    Java面试必考题
    Vue项目——去哪网(首页部分)
    Vue项目的准备
    vue.js ③
  • 原文地址:https://www.cnblogs.com/ddpeng/p/8014602.html
Copyright © 2011-2022 走看看