• python中lambda表达式的使用以及两个BIF即filter()和map()的使用


    1.lambda表达式

    作用:在用python写一些执行脚本时,使用lambda就可以省下定义函数过程,比如我们只是需要写一个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使的代码更加简洁

    对于一些比较抽象并且整个程序使用下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的问题,使用lambda就不需要考虑命名的问题了

    简化代码可读性,由于普通的函数阅读经常要跳到开头def定义部分,使用lambda函数可以省去这样的步骤。

    例如

    用函数来写:    >>> def ds(x):

                               return 2*x+1

                                  >>> ds(5)
                                       11

     用lambda表达式来写:                            >>> g = lambda x:2*x+1
                                                                        >>> g(5)
                                                                        11

    2.filter()的使用

          可以称为过滤器,用法:

    filter(function or None,iterable)如果第一个参数是函数的话,则将第二个可迭代数据里的每个元素作为函数的参数进行计算,把返回true的值给筛选出来,并为一个列表,如果第一个参数是None,则将第二个参数里面的true的值筛选出来

    例:>>> filter(None,[1,0,False,True])
            <filter object at 0x0000020C12F43AC8>
             >>> list(filter(None,[1,0,False,True]))
             [1, True]

    >>> def odd(x):
        return x%2

    >>> temp=range(10)
    >>> show=filter(odd,temp)
    >>> list(show)
    [1, 3, 5, 7, 9]
    >>> list(filter(lambda x:x%2,range(10)))
    [1, 3, 5, 7, 9]

    3.map()的使用

    意思为映射,有两个参数,一个是函数,一个可迭代的序列,该BIF的功能是将序列的每一个元素作为函数的参数进行运算加工,直到可迭代序列的每个元素都加工完毕,返回所有加工后的元素构成新序列

    >>> list(map(lambda x:x*2,range(10)))
    [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

  • 相关阅读:
    《超越自己》--刘墉
    《菊与刀》--[美]鲁思·本尼迪克特(Ruth Benedict)
    《暧昧的日本人》--李兆忠
    《女性的选择》--[日]今野由梨
    《懂得低头,才能出头》--李艳
    原来还有这样的记词方法_Java版记不规则动词_博主推荐
    《永不止步》--[奥]力克胡哲
    C#面向服务WebService从入门到精通
    C# Windows服务开发从入门到精通
    sql server递归查询
  • 原文地址:https://www.cnblogs.com/chmusk/p/12465895.html
Copyright © 2020-2023  润新知