zoukankan      html  css  js  c++  java
  • 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]

  • 相关阅读:
    试题 E: 迷宫
    对拍程序
    人群中钻出个光头
    HDU-魔咒词典(字符串hash)
    第八集 你明明自己也生病了,却还是要陪着我
    智力问答 50倒计时
    数据结构
    LeetCode刷题 fIRST MISSING POSITIVE
    LeetCode Best to buy and sell stock
    LeetCode Rotatelmage
  • 原文地址:https://www.cnblogs.com/chmusk/p/11078947.html
Copyright © 2011-2022 走看看