zoukankan      html  css  js  c++  java
  • 匿名函数

    1、基础

    lambda是匿名函数,为了解决那些功能很简单的需求而设计的一句话函数。

      lambda的语法非常简单:

      下面是一个lambda表达式的简单例子:

    # 普通函数实现:
    def calc(n):
        return n**n
    print(calc(10))
    
    # lambda函数实现:
    calc = lambda n:n**n   # n:参数;  表达式:n**n  【表达式结果作为返回值】
    print(calc(10))

      lambda表达式和定义一个普通函数的对比:

      注意:

      使用lambda表达式并不能提高代码的运行效率,它只能让你的代码看起来简洁一些。

     2、面试题

    ### 面试题1:
    d = lambda p:p*2
    t = lambda p:p*3
    x = 2
    x = d(x)
    x = t(x)
    x = d(x)
    print(x)
    ### 面试题2:
    # 现有两元组(('a'),('b')),(('c'),('d')),请用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
    ret = zip((('a'),('b')),(('c'),('d')))
    res = map(lambda tup:{tup[0]:tup[1]},ret)
    for i in res:
        print(i)
    # 面试题3:
    # 以下代码的输出是什么?
    def multipliers():
        return [lambda x:i*x for i in range(4)]    # i = 0,1,2,3
    print([m(2) for m in multipliers()])           # x = 2,调用最后一个i=3
  • 相关阅读:
    mfc启动画面
    个人冲刺第十天
    个人冲刺第九天
    个人冲刺第八天
    个人冲刺第七天
    个人冲刺第六天
    新一周冲刺计划2
    新一周冲刺
    创意1
    团队绩效与目标
  • 原文地址:https://www.cnblogs.com/timetellu/p/10682705.html
Copyright © 2011-2022 走看看