Python lambda匿名函数

Lambda匿名函数

       Lambda实质是一个函数,主体是一个表达式,而不是一个代码块,内部只能执行有限的操作,例如测试相等性,乘法,乘方等。当需要一个规模很小的函数,尝试用Lambda表达式代替函数,可以节省函数调用过程中的时间开销,提交代码的效率。类似于C++的内联函数。

       例如:

Lambda的运用:

  1.  字典的排序

         字典本身是无序的,需要先转换成元组,在对元组排序。

#-*- coding:utf-8 -*-
#!/usr/bin/python

dic = {'a':3 , 'b':1 , 'c':2}

#self test
if __name__ == '__main__':
    print('sorted before{}:'.format(dic))
    dic_1 = sorted(dic.items(), key=lambda d:d[0], reverse = True)
    print('sorted after{}:'.format(dic_1))


主要用在filter和map中。

lambda匿名函数和filter方法的运用:

      if __name__ == '__main__':
            filter_list = [1,2,4,9,16,27]
            f = lambda x:x%2 == 0
            result = filter(f,filter_list)
            print(*result)

运行结果:

           2 4 16


lambda匿名函数和map方法的运用:

      map用于需要对列表中的每一个元素执行指定的操作,总是返回一个迭代器。

      if __name__ == '__main__':
            filter_list = [1,2,4,9,16,27]
            f = lambda x:x%2 == 0
            result = map(f,filter_list)
            print(*result)

运行结果:

           False True True False True False


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值