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
  • 相关阅读:
    生产环境常见的几种JVM异常
    JVM垃圾回收时如何确定垃圾?是否知道什么是GCRoots?
    你平时工作用过的JVM常用基本配置参数有哪些?
    java X参数
    JUC之CAS
    JUC之List集合
    JUC之lock
    JUC之volatile
    BZOJ2132: 圈地计划
    BZOJ3991: [SDOI2015]寻宝游戏
  • 原文地址:https://www.cnblogs.com/timetellu/p/10682705.html
Copyright © 2011-2022 走看看